반응형
박쥐 파일의 이스케이프 퍼센트
배치 파일을 사용하여 VPN 다이얼러 / 단로기를 작성하려고했지만 막혔습니다. 몇 가지 조사 결과 %
암호 의 존재 가 제대로 작동하지 않는 것으로 나타났습니다 .
다음은 코드입니다.
@echo OFF
SET SWITCHPARSE1=%1
SET SWITCHPARSE2=%2
REM echo %SWITCHPARSE1%
SHIFT
SHIFT
IF "SWITCHPARSE1" == "" goto Usage
IF "SWITCHPARSE1" == "/?" goto Usage
IF "SWITCHPARSE2" == "" goto Usage
IF "SWITCHPARSE2" == "/?" goto Usage
IF "%SWITCHPARSE1%" == "sl" (
IF "%SWITCHPARSE2%" == "conn" (
echo "inside sl conn"
rasdial sl employee1 K%%Pxev3=)g:{#Swc9
goto end
) ELSE IF "%SWITCHPARSE2%" == "disconn" (
rasdial sl /disconnect
goto end
) ELSE (
goto Usage
)
) ELSE IF "%SWITCHPARSE1%" == "off" (
IF "%SWITCHPARSE2%" == "conn" (
rasdial Office employee1 office123
goto end
) ELSE IF "%SWITCHPARSE2%" == "disconn" (
rasdial Office /disconnect
goto end
) ELSE (
goto Usage
)
) ELSE (
goto Usage
)
:Usage
echo "Usage is vpnconn.bat /[sl|off] /[conn|disconn]"
:end
위의 스크립트에서 나는 (즉 , 여기 에서 참조)를 %
사용하여 이스케이프하려고 했지만 bat 스크립트는 g : {# Swc9를 제공합니다 . .%
%%
원인을 더 근본으로하기 위해 다른 배치 파일에서 두 배 %%
(이스케이프 %
)를 시도했는데 작동했습니다.
@echo OFF
rasdial sl employee1 K%%Pxev3=)g:{#Swc9
다른 연결로 작업하기 위해 통합되었을 때 동일한 스크립트가 작동하지 않는 이유는 무엇입니까?
2 %% 는 1 % 와 같습니다 . 맞습니다 (하지만 스크립트에서만, cmd에서 직접), 이스케이프 연산자 ^ 를 사용할 필요가 없습니다 .
그러나 당신은 침략 연산자 )를 놓치고 있습니다. 그게 바로 문제 야; 명령에서 ) 를 찾으면 IF가 닫힙니다 .
이것을 사용하십시오 :
rasdial sl employee1 K%%%%Pxev3=^)g:{#Swc9
참조 URL : https://stackoverflow.com/questions/13551829/escape-percent-in-bat-file
반응형
'programing' 카테고리의 다른 글
ActiveSupport :: Memoizable은 어떤 Ruby memoize 패턴을 참조합니까? (0) | 2021.01.15 |
---|---|
여러 인덱스로 메시 렌더링 (0) | 2021.01.15 |
세트 멤버의 TTL (0) | 2021.01.15 |
WebAPI와 WebAPI 2의 차이점은 무엇입니까? (0) | 2021.01.15 |
Java 8 기본 메소드가 소스 호환성을 중단합니까? (0) | 2021.01.15 |