![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 12:45 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教:批处理变量中带=的处理方法。(dos下,非CMD) |
| 可打印版本 888 / 6 |
| 第1楼 lianjiang2004 | 发表于 2007-08-07 13:24 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
请教:批处理变量中带=的处理方法。(dos下,非CMD) 请教:批处理变量中带=的处理方法。(dos下,非CMD)
比如有一批处理test.bat,其中有 %1 %2 %3等。在输入的变量中有形如 -cc=123的形式。 假如按 test aa bb -cc=123的格式运行的话,结果是: %1是aa, %2是bb, %3是-cc,%4是123,有什么办法能比较简便地处理后得到%3为-cc=123? 另,-cc=123不一定就是%3,也可以是%2,如运行test aa -cc=123 bb。 谢谢。 |
|
| 第2楼 wangbadan | 发表于 2007-08-07 17:48 |
| 初级用户 发帖 9 积分 22 | |
|
我也有同样的问题!顶! 我也有同样的问题!顶!
|
|
| 第3楼 lianjiang2004 | 发表于 2007-08-07 19:23 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
没办法,只好用穷举的笨办法处理了。
此批处理用于ghost自动备份。 |
|
| 第4楼 tyh | 发表于 2007-08-08 10:54 |
| 初级用户 发帖 43 积分 80 | |
|
我是这么搞的,当然,也不好。
for /f "tokens=1-3 delims=; " %%i in ("%qq%") do ( set pp=%%j if "!pp:~-2!"=="==" (set pp===) else ( if "!pp:~-1!"=="=" set pp== )) |
|
| 第5楼 knoppix7 | 发表于 2007-08-10 13:32 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
MS-DOS里有for/f吗?
Runs a specified command for each file in a set of files. FOR %variable IN (set) DO command [command-parameters] %variable Specifies a replaceable parameter. (set) Specifies a set of one or more files. Wildcards may be used. command Specifies the command to carry out for each file. command-parameters Specifies parameters or switches for the specified command. To use the FOR command in a batch program, specify %%variable instead of %variable. |
|
| 第6楼 lianjiang2004 | 发表于 2007-08-10 13:38 |
| 金牌会员 发帖 1,884 积分 3,946 | |
Originally posted by tyh at 2007-8-8 10:54: 没看清标题吧?呵呵。 dos下,非CMD |
|
| 第7楼 ansipeter | 发表于 2007-08-10 14:17 |
| 中级用户 发帖 130 积分 269 | |
|
楼主可以用这样的形式试试
test aa bb “-cc=123” 因为没有纯DOS的测试环境,所以没有测试结果 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |