用過gothub或者碼雲的同學都知道,不包含任何文件的空文件夾上傳提交時不被允許的。當然你可以在空文件下創建.keep文件(或.gitkeep文件),然後就可以上傳了。 但是如果空文件夾比較多,並且我們確實不需要這些空文件了,那本文就學習一種命令行刪除所有空文件夾的方法。並封裝成.bat批處理程式。 ...
用過gothub或者碼雲的同學都知道,不包含任何文件的空文件夾上傳提交時不被允許的。當然你可以在空文件下創建.keep文件(或.gitkeep文件),然後就可以上傳了。
但是如果空文件夾比較多,並且我們確實不需要這些空文件了,那本文就學習一種命令行刪除所有空文件夾的方法。並封裝成.bat批處理程式。通過滑鼠右鍵運行即可。
一,DOS刪除命令
1.1,刪除文件命令 del
若是想刪除文件,輸入del 盤符名:\文件名,比如,我想刪除一個在F盤的名為123.txt的文件,則輸入 del f:\123.txt 按回車就能刪除該文件了。當然,該命令只能刪除文件,不能刪除文件夾。若要用該命令刪除一個文件夾,會顯示找不到文件123.txt。
1.2,刪除文件夾命令 rm
若是想刪除文件夾,輸入rd 盤符名:\文件夾名稱,比如,我想刪除一個在D盤的名為wo的文件夾,則輸入 rd d:\wo 這樣就能刪除文件夾了。當然這種刪除方法必須要該文件夾是空文件夾,不然刪除不了。
1.3,文件夾和文件一起刪除
若是想將文件夾和文件一起刪除,輸入rd /s /q 盤符名:\文件夾名,這樣會將文件夾和它裡面的文件一起刪除。比如,我想刪除一個在F盤的名為wo的文件夾和它裡面的名為123.txt的文件,輸入: rd /s /q f:\wo 即可。
註意:刪除文件之前備份,不要將有用文件刪除!
實例一: 批量(迴圈)刪除指定目錄下所有空文件夾
下麵的代碼實現功能是批量刪除F:\盤下的所有空文件夾:
@echo off for /f "delims=" %%a in ('dir /ad /b /s F:\^|sort /r') do ( rd "%%a">nul 2>nul &&echo 空目錄"%%a"成功刪除! ) pause
可以複製以上代碼粘貼到文本文檔,然後修改文件名尾碼.txt修改為.bat保存,滑鼠右鍵點擊打開即運行(或者以管理員身份運行)。我測試結果如下:
空目錄"F:\aaa\bbb\ccc"成功刪除! 空目錄"F:\aaa\bbb"成功刪除! 空目錄"F:\aaa"成功刪除! 空目錄"F:\111"成功刪除! 請按任意鍵繼續. . .
實例二:批量刪除多個磁碟的空文件夾
下麵的代碼可以刪除c d e f 中所有的空文件夾:
@echo off for %%i in (c d e f) do ( if exist %%i:\ ( for /f "delims=" %%a in ('dir /ad /b /s "%%i:\"^|sort /r') do ( rd "%%a" ) ) ) pause
註意,以上命令會批量刪除c d e f盤下所有的空目錄,時間可能會長一點,請耐心等待。
好了,有了這個批處理程式,以後做整個項目的SVN或git地址切換的時候,提交上傳再也不用糾結一個一個排除空目錄的苦惱啦。