问题描述:
如何将1个文件夹内10W个文件平均分到1000个文件夹,每个文件夹100个文件。
一、在文件夹中新建一个txt,将下面代码复制过去保存
@echo off
setlocal enabledelayedexpansion
set "source_folder=源文件夹"
set "destination_folder=目标文件夹"
set "max_files_per_folder=2000"
set "folder_count=0"
set "file_count=0"
for %%F in ("%source_folder%\*.*") do (
set /a "file_count+=1"
set "target_folder=!destination_folder!\Folder_!folder_count!"
if not exist "!target_folder!" (
mkdir "!target_folder!"
)
move "%%F" "!target_folder!"
if !file_count! geq %max_files_per_folder% (
set /a "file_count=0"
set /a "folder_count+=1"
)
)
echo All files have been moved into subfolders.
pause
作者:VirusCuzX
链接:https://www.zhihu.com/question/405650065/answer/3180145380
来源:知乎
二、修改代码中源文件夹、目标文件夹、每个文件夹内文件数量。
1.更改源文件夹路径
set "source_folder=D:\1"
2.更改目标文件夹路径(不可为同一个文件夹,若无目标文件夹则会新建一个)
set "destination_folder=D:\2"
3.更改每个文件夹内文件数量
set "max_files_per_folder=2000"
三、更改文件后缀名为.bat,然后双击运行。
注意:最好先备份一份自己的数据,防止意外发生!!!