Board logo

标题: [文件操作] 批处理怎样批量移动文件至相应文件夹? [打印本页]

作者: cwtcwt2006    时间: 2023-9-3 21:35     标题: 批处理怎样批量移动文件至相应文件夹?

我想把A、B、C、D四个文件夹里面的子文件(里面各100个文件,A1—A100,B1—B100,C1—C100,D1—D100)重新分配到另外的100个文件夹里面(命名为001—100),001文件夹里面包含A1,B1,C1,D1(系不同类型的文档),002文件夹里是A2,B2,C2,D2,以此类推,用BAT能实现吗?
作者: Five66    时间: 2023-9-4 00:45

不知这样行不行,放到包含ABCD四个文件夹的文件夹里运行
  1. @echo off&pause
  2. set fd=%date:/=-%-%random%
  3. md %fd%
  4. if %errorlevel% neq 0 echo can not new folder&pause&exit/b
  5. for /l %%i in (1,1,100) do (
  6. set /a aaa=%%i+1000
  7. set bbb=%%i
  8. setlocal enabledelayedexpansion
  9. if not exist "!fd!\!aaa:~1!" md "!fd!\!aaa:~1!"
  10. for %%a in (A B C D) do (
  11. move "%%a\%%a!bbb!" "!fd!\!aaa:~1!\%%a!bbb!"
  12. )
  13. endlocal
  14. )
  15. echo done&pause
  16. explorer %fd%
复制代码

作者: 77七    时间: 2023-9-4 07:26

  1. @echo off
  2. set n=100
  3. call :1 "A" "B" "C" "D"
  4. pause & exit
  5. :1
  6. set m=00%n%
  7. md "%m:~-3%"
  8. move "%~1\%~nx1%n%.*" "%m:~-3%"
  9. move "%~2\%~nx2%n%.*" "%m:~-3%"
  10. move "%~3\%~nx3%n%.*" "%m:~-3%"
  11. move "%~4\%~nx4%n%.*" "%m:~-3%"
  12. set /a n-=1
  13. if %n% gtr 0 (goto :1) else exit /b
复制代码

作者: cwtcwt2006    时间: 2023-9-4 20:29

回复 2# Five66


    试了一下,没有成功,依然感谢。
作者: cwtcwt2006    时间: 2023-9-4 20:29

回复 3# 77七


    经测试,成功了,谢谢指教




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