永发信息网

我的文件夹中有500个文件,怎么把500个文件分别批量复制到新建的500个文件夹内

答案:3  悬赏:20  手机版
解决时间 2021-12-22 03:19
  • 提问者网友:动次大次蹦擦擦
  • 2021-12-21 13:06
文件夹中有500个文件(文件名是:文档1,文档2,文档3,.....),怎么把500个文件分别批量复制到500个文件夹内(新建500个文件夹名是:1,2,3,.....);就是想把文档1复制到文件夹1,文档2复制到文件夹2
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-12-21 13:44
@echo off&setlocal enabledelayedexpansion
attrib +s "%~f0"
for /r %%a in (*.txt) do (
   set str=%%~nxa
   set str=!str:~2!
   md !str!
   copy "%%a" !str!
)
pause请把上面的内容复制文本文档中,保存bat文件。在文档文件夹中运行,就在文档文件夹中新建500个文件夹,然后复制文件txt文件,如果是不是txt文件,请修改批处理中的文件格式。
有疑问,请追问!
全部回答
  • 1楼网友:像个废品
  • 2021-12-21 15:11
echo off&SETLOCAL ENABLEDELAYEDEXPANSION set /a count=0,sum=11 set filedir=%cd% cd .. set redir=%cd% cd %filedir% :neatFile for /r %%i in (*) do ( if !count! == 0 mkdir !redir!\newdir!sum! ( move %%i !redir!\newdir!sum! &&set /a count+=1 ) 1>nul if !count! == 500 (set /a count=0,sum+=1 &echo 创建第 !sum! 个文件夹 ) ) echo ---------------------- pause
  • 2楼网友:独钓一江月
  • 2021-12-21 14:17
把这些存成一个bat文件,放在txt所在文件夹内,执行就行了。会每500个txt移动到一个文件夹内,文件夹名为dir01、dir02…… 亲手帮你写的,建议多给加分。谢谢 @echo off setlocal enabledelayedexpansion set /a m=0 set /a n=1000 for /f "delims=" %%a in ('dir/b *.txt') do ( if !m!==0 set /a n+=1 & md dir!n:~-2! move %%a dir!n:~-2! >nul set /a m+=1 if !m!==500 set /a m=0 ) echo 执行完毕! pause
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯