Board logo

标题: [文件操作] [已解决]BAT脚本如何批量移动不同类别的文件,建立不同类别文件夹? [打印本页]

作者: tttoi2000    时间: 2023-8-18 22:25     标题: [已解决]BAT脚本如何批量移动不同类别的文件,建立不同类别文件夹?

本帖最后由 tttoi2000 于 2023-8-20 21:25 编辑

如题,表达如下 :

文件夹架构如下:
X:\1-2019-JX12-Y-001
      |_1-2019-JX12-Y-001-001       1-2019-JX12-Y-001-001~NNN.jpg
      ...
      |_1-2019-JX12-Y-001-NNN     1-2019-JX12-Y-001-NNN~NNN.jpg
      1-2019-JX12-Y-001-001.PDF~NNN.PDF

相要
JPG:\1-2019-JX12-Y-001
         |_全部JPG
PDF:\1-2019-JX12-Y-001
         |_全部PDF

      .
作者: Batcher    时间: 2023-8-18 22:48

回复 1# tttoi2000


请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
test.bat放在X:\1-2019-JX12-Y-001文件夹下执行
  1. @echo off
  2. cd /d "%~dp0"
  3. set "NewJPG=全部JPG"
  4. set "NewPDF=全部PDF"
  5. if not exist "%NewJPG%" (
  6.     md "%NewJPG%"
  7. )
  8. if not exist "%NewPDF%" (
  9.     md "%NewPDF%"
  10. )
  11. for /f "delims=" %%i in ('dir /b /s /a-d *.jpg') do (
  12.     move "%%i" "%NewJPG%"
  13. )
  14. for /f "delims=" %%i in ('dir /b /s /a-d *.pdf') do (
  15.     move "%%i" "%NewPDF%"
  16. )
复制代码

作者: tttoi2000    时间: 2023-8-19 08:06

大侠,你好,文件运行出来了,只是在X:\1-2019-JX12-Y-001下生了两个文件夹放不同后缀的文件,我意思是把文件移出来,重新生成
X:\ jpg\1-2019-JX12-Y-001\全部jpg
X:\ pdf\1-2019-JX12-Y-001\全部pdf
因为像这文件有近千个。
作者: jszw666    时间: 2023-8-19 11:01

先学习,后测试,再总结。不断进步
作者: Batcher    时间: 2023-8-19 11:06

回复 3# tttoi2000


请先确认一下X盘下面的文件夹列表是不是只有:
X:\1-2019-JX12-Y-001
X:\1-2019-JX12-Y-002
X:\1-2019-JX12-Y-003
X:\1-2019-JX12-Y-xxx
X:\jpg
X:\pdf
除此之外没有其它文件夹对吗?
作者: tttoi2000    时间: 2023-8-19 11:59

有,就是1-2019-JX12-Y-001父级文件名子会有变化
作者: Batcher    时间: 2023-8-19 13:53

回复 6# tttoi2000


    1-2019-JX12-Y-001不是在X盘根目录下么,它的父级文件是啥?
作者: Batcher    时间: 2023-8-19 14:17

回复 1# tttoi2000


test.bat放在1-2019-JX12-Y-001同一级目录下执行
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /ad ^| findstr /i /v /x /c:"JPG" /c:"PDF"') do (
  4.     echo 正在处理文件夹 %%i
  5.     if not exist "JPG\%%i\全部JPG" (
  6.         md "JPG\%%i\全部JPG"
  7.     )
  8.     if not exist "PDF\%%i\全部PDF" (
  9.         md "PDF\%%i\全部PDF"
  10.     )
  11.     for /f "delims=" %%j in ('dir /b /s /a-d %%i\*.jpg') do (
  12.         move "%%j" "JPG\%%i\全部JPG"
  13.     )
  14.     for /f "delims=" %%j in ('dir /b /s /a-d %%i\*.pdf') do (
  15.         move "%%j" "PDF\%%i\全部PDF"
  16.     )
  17. )
复制代码

作者: tttoi2000    时间: 2023-8-20 13:20

感谢大侠帮忙,得到自己想要的结果了。




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