@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将文件移动到相应的文件夹内。
注意事项
此脚本会忽略脚本文件自身(避免将它也移动到文件夹)。
运行脚本后,当前目录下的文件会被移动到新建的文件夹中,文件夹名称与文件名相同。

