2014-09-23 116 views
2

我有以下腳本代替:的Windows shell腳本字符串搜索和使用變量

setlocal ENABLEDELAYEDEXPANSION 

set LOCAL_DIR=C:\wamp\www 

set CLASS_NAME=%5 
set TEST_NAME=%7 

set CLASS_PATH=%6 
set TEST_PATH=%8 
set BOOT_PATH=%4 

set CLASS_PATH=%CLASS_PATH:C:\wamp\www=/var/www% 
set TEST_PATH=%TEST_PATH:C:\wamp\www=/var/www% 
set BOOT_PATH=%BOOT_PATH:C:\wamp\www=/var/www% 

echo phpunit-skelgen %1 %2 --bootstrap='%BOOT_PATH' 

:C:\wamp\www\plink -batch -ssh -pw @dmin205 [email protected] phpunit-skelgen %1 %2 --bootstrap=%BOOT_PATH '%CLASS_NAME' '%CLASS_PATH' '%TEST_CLASS' '%TEST_PATH'" 

我試圖讓「C:\ WAMP \ www」的和「的/ var/www」的變數,但是當我是否停止工作......任何人有任何想法?

我希望儘可能甚至去編程揣摩出這些路徑分別爲,並將其保存在環境爲Windows會話

編輯的續航時間|該boot_path的%將不會在最後echo'ed輸出渲染...

+0

問題出在':'上,但修復起來很簡單 – npocmaka 2014-09-23 17:21:40

+0

其中: - 我需要C:\ - 修正了什麼? – 2014-09-23 17:22:21

+0

writtinig ...只要給我幾分鐘。 – npocmaka 2014-09-23 17:22:49

回答

0
@echo off 
setlocal ENABLEDELAYEDEXPANSION 

set "LOCAL_DIR=C:\wamp\www" 

set "CLASS_NAME=%~5" 
set "TEST_NAME=%~7" 

set "CLASS_PATH=%~6" 
set "TEST_PATH=%~8" 
set "BOOT_PATH=%~4" 



for %%# in ("CLASS_PATH" "TEST_PATH" "BOOT_PATH") do (
    for %%z in ("!%%~#!") do set "_path=%%~pnz\" 
    set "%%~#=!_path:\=/! 
) 

echo %CLASS_PATH%--%TEST_PATH%--%BOOT_PATH% 
endlocal 
exit /b 0 

檢查this.As要刪除的驅動器盤符,並用反斜槓代替斜槓我明白了。

+0

這是反應很有趣,但並不完全解決我的問題...我需要將C:\ wamp/www更改爲/ var/wwww並將正斜槓轉換回斜槓... – 2014-09-24 14:09:58