国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

批處理刪除空文件夾

2020-06-09 13:41:47
字體:
來源:轉載
供稿:網友
實現代碼:

代碼如下:
@echo off
for /f "tokens=*" %%a in ('dir /b /ad /s "目標文件夾"^|sort /r') do rd "%%a" 2>nul
pause
goto :eof
@echo off
for /f "delims=" %%i in ('dir /ad /b /s') do call :rd_dir_empty "%%i"
goto :eof

rem ======= 刪除空目錄 =========
:rd_dir_empty
rd %1 2>nul||goto :eof
set dir_route=%1
for /f "delims=" %%i in (%dir_route%) do (
set dir_route="%%~dpi"
for /f "delims=" %%j in ('dir /ad /b "%%~dpi"')do rd "%%~dpi%%j" 2>nul||goto :eof
)
:: 把路徑最后的/去掉,以便set route_deepest="%%~dpi"能取到上一層路徑
if "%dir_route:~-2,1%"=="/" set dir_route="%dir_route:~1,-2%"
if /i not "%cd%"==%dir_route% call :rd_dir_empty %dir_route%
goto :eof


第一步:進入Windows的MS-DOS窗口(Windows 2000/XP叫命令行提示符),進入要查找空文件夾的驅動器,執行: 
  dir /ad/b/s | sort /r >empties.bat。 
  小提示 
   代碼如下:
上面命令行中“|”的輸入方法是按住Shift鍵按“/”鍵。  

  第二步:命令運行后,當前目錄下會生成一個Empties.bat文件,其中包含了逆序排列的所有文件夾的清單。用Word或記事本打開該文件,把每一行內容分別放入一對英文引號之內,然后在每一行前面插入“rd ”前綴(rd后加一個空格)。 

  以Word為例,按Ctrl+H打開“查找和替換”功能,查找“^p”(不含引號,下同。“^p”可以使用以下方法輸入:在“查找和替換”對話框中點“高級”按鈕,然后點擊“特殊字符→段落標記”),替換成“^prd ”(rd后面加一個空格),然后手工修正第一行和最后一行的內容。保存修改后的Empties.bat文件,進入命令行窗口執行這個批處理文件。Empties.bat將試圖刪除(即rd命令的作用)每一個文件夾,但包含內容的文件夾不可能用rd命令刪除,結果就刪除了所有空的文件夾。 

  知其所以然:我們來了解一下前面Dir命令的運行原理:“/ad”要求Dir命令選出所有目錄;“/b”表示只顯示文件夾名稱(不顯示Dir命令的標題信息或摘要);“/s”表示搜索,即查找當前文件夾及其所有的子文件夾。Dir命令的輸出通過管道命令(“|”)傳遞給Sort命令。Sort命令的作用是排序,“/r”選項表示逆序排列。 

  最后,Sort命令的輸出被重定向(“>”)到Empties.bat文件。由于要求Sort命令逆序排列輸出結果,所以Empties.bat文件中子文件夾總是位于父文件夾的前面,因而刪除文件夾時,空的子文件夾總是先被刪除,空的父文件夾也得以被刪除。可以看到,巧妙運用Windows內建命令,許多表面上看起來復雜的任務也可以輕而易舉地完成! 

  小提示:Dir的三個小招數 

  ★查看文件夾全部隱藏文件:如果想查看Windows文件夾和它所有子文件夾中全部的隱藏文件,只需輸入:DIR C:/Windows.* /AH/S/B/P。 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武川县| 来安县| 木兰县| 长春市| 门头沟区| 吉林省| 黄平县| 新泰市| 托克逊县| 梨树县| 潍坊市| 云梦县| 海南省| 岳池县| 民权县| 石屏县| 大渡口区| 双峰县| 勃利县| 温宿县| 商河县| 彰武县| 绿春县| 米脂县| 运城市| 明光市| 闻喜县| 上犹县| 类乌齐县| 射阳县| 祁阳县| 黔江区| 靖江市| 姚安县| 甘孜县| 新密市| 聂荣县| 昌吉市| 河间市| 浮梁县| 静宁县|