我使用以下代码时出现语法错误。
@echo off
SETLOCAL EnableDelayedExpansion
set path=%1
set value=[%path:~-1%]
echo !value!
if !value!==[\] (
echo success
)
if !value!==["] (
echo success
)
这样会出现语法错误:
%1="C:\batch\test"
虽然这样做效果很好:
%1=C:\batch\test
谁能告诉我为什么?
答案 0 :(得分:0)
您需要使用"
字符转义^
。
if !value!==[^"] (
echo success
)
否则批处理认为你正在启动一个字符串,这会破坏你的其余代码。
(在一个不相关的说明中,path
已作为系统变量存在;我建议为您的代码使用不同的变量。)