我有一个从命令行获取参数的批处理脚本。其中一个参数中有一个*。尽管将参数放在引号中,但*在批处理脚本中使用参数之前*会被扩展。
我使用以下代码来解析参数:
set CMDLINE_ARGS=%~1
shift
:get_args
if "%~1" == "" goto execute
set CMDLINE_ARGS=%CMDLINE_ARGS% %~1
shift
goto :get_args
这适用于Windows Server 2003,但出于某种原因不适用于Server 2008。
答案 0 :(得分:0)
我做了这样的事情已经很久了,但看看
SETLOCAL ENABLEDELAYEDEXPANSION
不确定Windows Server 2008的默认设置。