Windows下快速刪除上萬個文件和子目錄
這個是工具:
http://www.sunqizheng.com/blog/2255.html
爲什麼會慢
如果直接在Windows文件管理器裏刪除的話(通過菜單或者鍵盤Del或者Shift+Del),刪除這個數量的文件需要大概10幾分鐘,具體根據文件數量目錄層次不同耗時不同。這麼慢是因爲在刪除之前系統有個準備階段,在這個階段系統要計算目錄和文件數量、文件總大小、估算刪除所需時間,而當執行刪除的時候,系統仍然要統計和計算每秒刪除的速度、剩餘多少、已刪除文件數量,這一系列的統計和計算是讓用戶直觀的看到刪除進度,弊端就是降低了刪除的速度。
通過命令行刪除可以快20倍以上
1. 刪除文件
DEL /F/Q/S *.*
/F 強制刪除只讀文件
/Q 在模糊文件名匹配刪除的時候,不詢問是否刪除
/S 刪除當前目錄和子目錄中指定文件
上面這個命令在刪除的過程中會輸出被刪除文件路徑和狀態,本來執行這個命令就是因爲文件太多,再輸出這個比較煩人,所以通過下面這個命令避免輸出任何信息
DEL /F/Q/S *.* > NUL
2. 刪除目錄
DEL命令只負責刪除文件,刪除目錄需要下面這個命令,文檔裏指出它不能刪除包含隱藏和系統文件的目錄
RMDIR /Q/S vendor
/Q 不詢問是否刪除目錄和子目錄
/S 刪除指定目錄中的子目錄和文件
3. 批處理
保存下面代碼到fastdel.bat中
-
@ECHO OFF
-
ECHO Delete Folder: %CD%?
-
PAUSE
-
SET FOLDER=%CD%
-
CD /
-
DEL /F/Q/S "%FOLDER%" > NUL
-
RMDIR /Q/S "%FOLDER%"
-
EXIT
把這個bat文件加到系統環境變量中的PATH去之後,就能在命令行裏直接執行
FASTDEL vendor
4. 在右擊菜單中加入快速刪除選項
- WIN + R 打開運行對話框
- 輸入regedit,回車打開註冊表管理器
- 找到HKEY_CLASSES_ROOT\Directory\shell\
- 在shell目錄上右擊新建項
- 輸入名字:
快速刪除
回車 - 右擊剛剛建好的
快速刪除
目錄,新建項 - 輸入:
command
- 單擊剛剛建好的
command
,然後雙擊(默認)
- 在
數值數據
中輸入:cmd /c "cd %1 && fastdel.bat",然後點擊確定(如果沒有把fastdel.bat加到環境變量path的話,需要填寫這個bat的絕對路徑)
在Windows文件管理器中,右擊某個目錄,就可以在彈出的菜單中看到快速刪除
選項,點擊之後就等於執行了fastdel.bat