@echo off setlocal enabledelayedexpansion for %%f in (*) do ( if not "%%~ff"=="%~f0" ( set "filename=%%~nf" if not exist "!filename!" ( mkdir "!filename!" ) move "%%f" "!filename!\" ) ) echo All files have been moved to their respective folders. pause
将上面的代码保存为txt文本,改后缀名为bat,点击运行即可。
for %%f in (*) do
循环当前目录中的所有文件。
%%~nf
获取文件的名字(不包含扩展名)。
mkdir
创建一个与文件名相同的文件夹(如果不存在)。
move
将文件移动到相应的文件夹内。
注意事项
此脚本会忽略脚本文件自身(避免将它也移动到文件夹)。
运行脚本后,当前目录下的文件会被移动到新建的文件夹中,文件夹名称与文件名相同。