找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18630|回复: 4

[文件操作] 批处理怎样批量移动文件至相应文件夹?

[复制链接]
发表于 2023-9-3 21:35:21 | 显示全部楼层 |阅读模式
我想把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能实现吗?
发表于 2023-9-4 00:45:51 | 显示全部楼层
不知这样行不行,放到包含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%
复制代码
发表于 2023-9-4 07:26:52 | 显示全部楼层
  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
复制代码
 楼主| 发表于 2023-9-4 20:29:23 | 显示全部楼层
回复 2# Five66


    试了一下,没有成功,依然感谢。
 楼主| 发表于 2023-9-4 20:29:54 | 显示全部楼层
回复 3# 77七


    经测试,成功了,谢谢指教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 16:55 , Processed in 0.017443 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表