Han*_*örr 3 windows batch-file
将以=符号结尾的参数传递给批处理文件时遇到了麻烦.考虑一下(>是Windows XP提示符):
> type c.bat
echo %1
> c.bat bla=
bla
> c.bat "bla="
"bla="
Run Code Online (Sandbox Code Playgroud)
为什么=在bla=吞噬?我怎么能在一个参数中传递一个=符号?
这是一个已知问题:http://support.microsoft.com/kb/35938
你可以像这样绕过它:
SET ARG1=bla= && your.bat && SET ARG1=
Run Code Online (Sandbox Code Playgroud)
和your.bat:
@ECHO OFF
ECHO %ARG1%
Run Code Online (Sandbox Code Playgroud)
或者,您可以将其作为带引号的参数传递(使用""围绕它):
your.bat "bla="
Run Code Online (Sandbox Code Playgroud)
然后在批处理文件中使用它,如下所示:
echo %~1
Run Code Online (Sandbox Code Playgroud)
在~那里在这种情况下只是删除了引号.