中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 21:14
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处小玩意! 玩出你的水平!
可打印版本  3,040 / 18
第16楼 GOTOmsdos 发表于 2007-01-18 11:24
铂金会员 发帖 1,827 积分 5,154
奇怪的参数传递!
一:
用 &&, 结果for /r 后面的doPath全部为d:\
for %%a in (c d e) do set doPath=%%a:\&&for /r "%doPath%" %%b in (*.exe) do if exist %%b ECHO %%b %%~nb

二:
用分行 配合 ()号,结果for /r 后面的doPath全部为e:\
for %%a in (c d e) do (
set doPath=%%a:\
for /r "%doPath%" %%b in (*.exe) do (if exist %%b ECHO %%b)
)

三:
只有用 %1 式的参数方式传递参数才正常
for %%a in (c d e) do call :tag %%a:\
:tag
if #==#%1 goto :eof
for /r "%1" %%b in (*.exe) do if exist %%b ECHO %%b %%~nb

[ Last edited by GOTOmsdos on 2007-1-18 at 11:52 AM ]
第17楼 GOTOmsdos 发表于 2007-01-18 11:55
铂金会员 发帖 1,827 积分 5,154
Originally posted by hxuan999 at 2007-1-16 11:37 AM:
第二个是,for /r 后面的路径参数是一定要是路径,也就是说C:要写成 ...


仅仅根目录才需要 \ 号,子目录不需要的
第18楼 wxjclh 发表于 2007-01-18 23:45
初级用户 发帖 32 积分 65
我也来一句吧
I服了YOU!
第19楼 hxuan999 发表于 2007-01-19 00:42
中级用户 发帖 161 积分 337
Originally posted by GOTOmsdos at 2007-1-17 23:55:


仅仅根目录才需要 \ 号,子目录不需要的


谢谢回复,我说的就是那个意思,呵.子目录就是路径的形式,但是C:只是个驱动器,并没有指定路径,所以写成C:\才是从根目录开始.
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023