Windows批处理文件引用问题

时间:2012-07-30 09:22:25

标签: windows windows-7 batch-file

我有以下代码,但是当它被执行时引号出现问题:子字符串方法需要使用:=“,但我不知道如何将它们组合起来,例如:~0, 9.

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 个答案:

答案 0 :(得分:1)

您的代码中存在一些语法错误。

不要在SET语句中添加空格,否则您的变量名称包含空格url<space>而不是url

必须引用if %var:~0,9%=="phpfile:/" (,否则解析器将无法按预期工作。

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%"
)
相关问题