Board logo

标题: [文件操作] BAT如何批量移动文件夹和子文件夹内的文件到指定目录? [打印本页]

作者: lancer    时间: 2019-8-17 21:51     标题: BAT如何批量移动文件夹和子文件夹内的文件到指定目录?

需求
1. 某个目录下有多个文件和子目录,子目录中也有相应的需要移动的文件。例如我要移动的是*11*.doc文件,在目录下有多个*11*.doc文件,子目录中也有。
2. 移动的路径可以在批处理中输入

额外需求
1. 以后碰到别的文件了,是否可以在批处理中指定文件名中的部分字符串和文件类型
2. 移动文件存放的路径不要直接写在批处理中,可以在批处理界面进行输入路径

也就是这些代码可以反复利用,碰到不同的情况,可以自行输入要移动的文件名和最终存放文件的路径
作者: lancer    时间: 2019-8-21 13:02

这两天看了一下论坛,自己尝试写了一个,虽然不能满足自己上面提到的全部要求,但是可以通过手动修改命令达到自己的目的。
移动文件类的批处理确实蛮简单的,啥也不懂的我,也是看了好久才写出下面的东西来。让大师们见效了。
  1. @echo off
  2. for /f "delims=" %%i in ('dir /a-d /s /b *.mp4') do (
  3.     move "%%i" d:\
  4. )
  5. echo.
  6. echo 移动完成!!!
  7. pause
复制代码

作者: Batcher    时间: 2019-8-21 13:31

回复 2# lancer
  1. @echo off
  2. set /p "FileType=输入文件类型(例如mp4):"
  3. set /p "DstFolder=移动到哪个文件夹(例如D:\test):"
  4. if not exist "%DstFolder%" (
  5.     echo 不存在文件夹"%DstFolder%"
  6.     goto :eof
  7. )
  8. for /f "delims=" %%i in ('dir /a-d /s /b *.%FileType%') do (
  9.     move "%%i" "%DstFolder%"
  10. )
  11. pause
复制代码

作者: lancer    时间: 2019-8-21 17:05

回复 3# Batcher


    多谢管理员大神~~
为了批量移动这些文件,看了不少bat文件,才知道如何写。还是大神写的透彻




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2