标题: 批处理脚本参数处理问题
[打印本页]
作者: hbrqlpf
时间: 2009-5-7 05:46
标题: 批处理脚本参数处理问题
test.bat脚本内容如下:
@echo off
:beginparsepara
if "%1" == "" goto endparsepara
if "%1" == "/a" (
set paraa=%2
shift
)
if "%1" == "/b" (
set parab=%2
shift
)
if "%1" == "/c" (
set parac=%2
shift
)
shift
goto beginparsepara
:endparsepara
echo %paraa%
echo %parab%
echo %parac%
在命令行下运行脚本:testpara.bat /a "a a" /b "b b" /c "c c"
返回结果:此时不应有 a""。
请问如何才能使返回结果是如下形式:
"a a"
"b b"
"c c"
也就是可以让参数中含有空格,谢谢大家
作者: netbenton
时间: 2009-5-7 13:04
使用变量延迟:
setlocal enabledelayedexpansion
把参数传递给变量再判断:
set cs=%1
if "!cs!"=="/a" (set paraa=%2
shift
shift
)
...
作者: hbrqlpf
时间: 2009-5-7 22:25
谢谢楼上,问题解决了