中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 05:38
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于用for语句对多个子目录中的特定文件执行相同操作
可打印版本  1,246 / 7
第1楼 wjgyz740526 发表于 2006-10-07 03:40
中级用户 发帖 44 积分 203
关于用for语句对多个子目录中的特定文件执行相同操作
我想用for语句对多个子目录中的特定文件执行相同操作(复制或者移动,路径有空格且为长文件名)

我是这样写的:
@echo off

for /f "delims=" %%i in ('dir *.jpg /s/b/a:d "%SystemDrive%\Documents and Settings\"') do echo d | move "%%i" d:\pic

pause

哪儿错了呢?
第2楼 NaturalJ0 发表于 2006-10-07 05:22
银牌会员 发帖 533 积分 1,181
要加个括号,把 DO 后面的全包进去 DO ( ... )
第3楼 wjgyz740526 发表于 2006-10-07 05:56
中级用户 发帖 44 积分 203
不是吧?我这样的执行后把"%SystemDrive%\Documents and Settings\下的所有目录全给移到d:\pic目录了
第4楼 NaturalJ0 发表于 2006-10-07 07:41
银牌会员 发帖 533 积分 1,181
既然都过去了,那你指的错是什么?
第5楼 wjgyz740526 发表于 2006-10-07 08:16
中级用户 发帖 44 积分 203
我的本意是把%SystemDrive%\Documents and Settings\下的所有*.jpg 文件移到d:\pic目录

该怎么做?
第6楼 pengfei 发表于 2006-10-07 09:23
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
发现楼主的代码有误.
1. dir *.jpg这个*.jpg应该放到路径后面.
2. dir *.jpg /s/b/a:d 楼主要搜索文件却使用目录搜索.
3. echo d | move这个move前面的回显示和管道命令不知作何用.

第7楼 wjgyz740526 发表于 2006-10-07 10:08
中级用户 发帖 44 积分 203
for命令一直不太懂,这儿真是dos学习的好地方

谢谢楼上的兄弟!!!
第8楼 jieok3375 发表于 2006-10-10 02:18
中级用户 发帖 130 积分 282 来自 广东
学习了……
偶也不懂for~#¥……¥%……*%(
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023