标题: 关于用for语句对多个子目录中的特定文件执行相同操作
[打印本页]
作者: wjgyz740526
时间: 2006-10-7 03:40
标题: 关于用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
哪儿错了呢?
作者: NaturalJ0
时间: 2006-10-7 05:22
要加个括号,把 DO 后面的全包进去 DO ( ... )
作者: wjgyz740526
时间: 2006-10-7 05:56
不是吧?我这样的执行后把"%SystemDrive%\Documents and Settings\下的所有目录全给移到d:\pic目录了
作者: NaturalJ0
时间: 2006-10-7 07:41
既然都过去了,那你指的错是什么?
作者: wjgyz740526
时间: 2006-10-7 08:16
我的本意是把%SystemDrive%\Documents and Settings\下的所有*.jpg 文件移到d:\pic目录
该怎么做?
作者: pengfei
时间: 2006-10-7 09:23
发现楼主的代码有误.
1. dir *.jpg这个*.jpg应该放到路径后面.
2. dir *.jpg /s/b/a:d 楼主要搜索文件却使用目录搜索.
3. echo d | move这个move前面的回显示和管道命令不知作何用.
@echo off
for /f "delims=" %%i in ('dir /s /a-d /b "%SystemDrive%\Documents and Settings\*.jpg"') do (
move "%%i" d:\pic
)
pause
作者: wjgyz740526
时间: 2006-10-7 10:08
for命令一直不太懂,这儿真是dos学习的好地方
谢谢楼上的兄弟!!!
作者: jieok3375
时间: 2006-10-10 02:18
学习了……
偶也不懂for~#¥……¥%……*%(