Windows批處理 - 獲取目錄結構

首先附上遍歷所有磁盤的代碼:

@echo off

mkdir .\%computername%
for %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (
    if exist %%i:\ (
        echo Traversing disk %%i, Please wait...
        tree /f %%i:\>.\%computername%\%%i.txt
    )
)

echo.
echo complete, press anykey to exit...
pause>nul

rem bat文件一般可讀性都有點差,但是又不難理解,我就不在其中加註釋了。

運行該程序後,所在文件夾下會建立一個以計算機名命名的文件夾,並且在其中會保存你所有磁盤的目錄結構(耗時可能稍長)。

至於作用,見仁見智,我就不舉例了(隱藏文件不會顯示)。

另一種實用的方式是

@echo off

tree /f %1>%1.txt

pause

只要將文件夾拖入這個bat程序,文件夾所在的目錄下就會生成一個與文件夾同名的txt文本來保存目錄樹。直接運行文件則會在當前目錄下建立”.txt”文件,得到當前目錄的目錄樹。這樣如果要向別人展示文件目錄結構時,也就用不着截圖了。

但是上述方式都是遍歷到底層的,如果說有一個文件夾,我需要得到它下面的文件和目錄名稱,但是不需要其子文件夾下的文件和目錄呢?

@echo off>%1.txt

for /f "delims=" %%a in ('dir %1 /b') do (
    echo %~1\%%a>>%1.txt
)

pause

同樣是拖入目錄和直接運行都可以。

代碼都比較簡單,但是實用性還是很強的。

發佈了25 篇原創文章 · 獲贊 32 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章