0

我有以下代码,但是在执行时引号会出现问题:子字符串方法需要使用:=,但我不知道如何将它们与例如:~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:"=%
4

1 回答 1

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%"
)
于 2012-07-30T09:49:39.717 回答