2012-07-30 3 views
0

다음 코드가 있지만 실행될 때 따옴표에 문제가 있습니다. 하위 문자열 메서드는 다음을 사용해야합니다. = "하지만 그 코드를 결합하는 방법을 모르겠습니다. 예 :. ~ 0.9Windows 배치 파일 따옴표 문제

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:/" ( mus 따옴표 붙이면 파서가 예상대로 작동하지 않습니다.

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

set "url=%url:~0,-1%" 감사합니다 같은 것을 필요로 가정,하지만 문제는 여전히 존재 : 첫 번째 규칙이 경우 ""phpfile이라고를 제공합니다 :/"=="phpfile :/"( – Simon

+0

phpfile :/xyz /"'일괄 처리 파일'myParser.bat '를 호출하는 경우에만,'set var = % 1'을'set'으로 변경해야합니다 var = % ~ 1 "' – jeb