将文件转移到一个文件夹内bat
将文件转移到一个文件夹内bat
1.将本目录下的文件夹中的文件全部移动到本目录下 mergeFolders.bat
@echo off for /d %%i in (*) do ( pushd "%%i" move *.* .. popd )
2.将本目录下的文件夹中的文件全部移动到本目录下,包括文件夹中的子文件夹中的内容
@echo off setlocal enabledelayedexpansion for /r %%f in (*) do ( if "%%~dpf" neq "%cd%" ( move "%%f" "%cd%" ) ) endlocal
3.bat将文件夹中重名的文件,移动的到当前目录下面,不会覆盖,会对相同的文件的名字前面添加序号
@echo off setlocal enabledelayedexpansion rem 获取当前目录路径 set "current_folder=%CD%" set "counter=1" rem 遍历当前目录中的子文件夹 for /d %%i in ("%current_folder%\*") do ( rem 获取子文件夹中的所有文件 for %%j in ("%%i\*") do ( rem 构建目标文件名(在原始文件名前面加上递增的编号并保留原文件名及其后缀名) set "target_filename=!current_folder!\!counter!.%%~nxj" rem 移动文件 move "%%j" "!target_filename!" rem 递增计数器 set /a "counter+=1" ) )