![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 20:32 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理脚本参数处理问题 |
| 可打印版本 589 / 2 |
| 第1楼 hbrqlpf | 发表于 2009-05-07 05:46 |
| 新手上路 发帖 2 积分 2 | |
|
批处理脚本参数处理问题 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" 也就是可以让参数中含有空格,谢谢大家 |
|
| 第2楼 netbenton | 发表于 2009-05-07 13:04 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
使用变量延迟:
setlocal enabledelayedexpansion 把参数传递给变量再判断: set cs=%1 if "!cs!"=="/a" (set paraa=%2 shift shift ) ... |
|
| 第3楼 hbrqlpf | 发表于 2009-05-07 22:25 |
| 新手上路 发帖 2 积分 2 | |
|
谢谢楼上,问题解决了
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |