Board logo

标题: [文件操作] 批处理如何移动文件夹下指定后缀文件到指定文件夹下? [打印本页]

作者: w2112771    时间: 2021-3-9 17:45     标题: 批处理如何移动文件夹下指定后缀文件到指定文件夹下?

比如我在 d盘有一个名为1的文件夹,里面有DALAO1,DALAO2,DALAO3,3个的文件夹,DALAO1,DALAO2,DALAO3文件夹下有很多个子文件夹。我希望能复制子文件夹里后缀为.png和jpg的 文件到指定路径的文件夹下。并修改指定路径下文件夹的名称为DALAO1/DALAO2/DALAO3(也就是移动文件夹的父级文件夹的命名)
作者: Batcher    时间: 2021-3-9 18:22

回复 1# w2112771


test.bat
  1. @echo off
  2. set "SrcFolder=D:\1"
  3. set "DstFolder=D:\2"
  4. cd /d "%~dp0"
  5. for /f "delims=" %%i in ('dir /b /ad') do (
  6.     if not exist "%DstFolder%\%%i" (
  7.         md "%DstFolder%\%%i"
  8.     )
  9.     xcopy /s "%SrcFolder%\%%i\*.png" "%DstFolder%\%%i"
  10. )
复制代码
请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: w2112771    时间: 2021-3-9 19:51

回复 2# Batcher


    弹出黑框之后 文件没有任何的反应
作者: Batcher    时间: 2021-3-9 21:32

回复 3# w2112771


test.bat放在D:\1文件夹下执行

请参考Q-01观察一下哪行代码在报错:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: qixiaobin0715    时间: 2021-3-9 21:59

本帖最后由 qixiaobin0715 于 2021-3-9 22:03 编辑
  1. @echo off
  2. set "SrcFolder=D:\1"
  3. set "DstFolder=D:\2"
  4. for /d %%a in ("%SrcFolder%\*") do (
  5.     md "%DstFolder%\%%~na"
  6.     cd /d "%%a"
  7.     for /r %%b in (*.png *.jpg) do copy "%%b" "%DstFolder%\%%~na"
  8. )
  9. pause
复制代码
回复 1# w2112771




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