2012-07-30 35 views
0

我有下面的代碼,但是執行的時候有帶引號的問題:在子方法需要使用:=」,但我不知道如何將它們與結合例如:〜0,9的Windows批處理文件引用問題

SETLOCAL enabledelayedexpansion 

set var=%1 

if %var:~0,9%=="phpfile:/" (
    set url = %var:~9% 
) else (
    set url = %var:~10% 
) 

if "%var:~-1%"=="\" (
    set url = %url:~0,-1%" 
) 
if "%var:~-1%"=="/" (
    set url = %url:~0,-1%" 
) 

START "" "C:\Program Files (x86)\NuSphere\PhpED\7.0\phped.exe" %url:"=% 

回答

1

有在你的代碼中的一些語法錯誤

不要SET語句添加空格,否則你得到了與空間url<space>代替url變量名

if %var:~0,9%=="phpfile:/" (畝T爲引用,否則如預期解析器將無法正常工作。

set url = %url:~0,-1%"尾隨報價將在年底加引號,我想你需要像set "url=%url:~0,-1%"

set "var=%~1" 

if "%var:~0,9%"=="phpfile:/" (
    set "url=%var:~9%" 
) else (
    set "url=%var:~10%" 
) 

if "%var:~-1%"=="\" (
    set "url=%url:~0,-1%" 
) 
if "%var:~-1%"=="/" (
    set "url=%url:~0,-1%" 
) 
+0

謝謝,但仍有一個問題: 第一條規則賦予如果「」 phpfile:/「==」 phpfile:/ 「( – Simon 2012-07-30 10:15:59

+0

沒有,只有當你調用批處理文件'myParser.bat 」phpfile:/ XYZ /「。'那麼,你應該改變'設置VAR =%1'到'設置」 VAR = %〜1" ' – jeb 2012-07-30 10:18:53