將檔案轉移到一個資料夾內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" ) )