Windows批处理文件命令行参数中的星号(*)被扩展

时间:2009-11-11 22:16:55

标签: windows command-line batch-file

我有一个从命令行获取参数的批处理脚本。其中一个参数中有一个*。尽管将参数放在引号中,但*在批处理脚本中使用参数之前*会被扩展。

我使用以下代码来解析参数:

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。

1 个答案:

答案 0 :(得分:0)

我做了这样的事情已经很久了,但看看

  SETLOCAL ENABLEDELAYEDEXPANSION

不确定Windows Server 2008的默认设置。