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 に答える