我想創建一個批處理文件,遞歸列出的Windows但在一個類似Linux的format.For例如,考慮下面的批處理文件目錄:批處理文件列出遞歸在Windows目錄,在linux
@echo off
tree /f /a C:\Windows\Boot\dvd>%userprofile%\desktop\tree_output.txt
exit
此批處理文件將樹命令的輸出回顯或保存在用戶桌面文件夾中名爲tree_output.txt的文本文件中(/ f參數也列出子目錄中的所有文件,而/ a參數顯示樹命令的輸出採用ASCII文本格式,而不是圖形格式)。 的tree_output.txt包含以下的輸出:
Folder PATH listing for volume System
Volume serial number is 4E00004E 545D:650E
C:\WINDOWS\BOOT\DVD
+---EFI
| | BCD
| | boot.sdi
| |
| \---en-US
| efisys.bin
| efisys_noprompt.bin
|
\---PCAT
| BCD
| boot.sdi
| etfsboot.com
|
\---en-US
| bootfix.bin
然而,LS -R命令Linux的將列出了目錄遞歸是這樣的:
C:\WINDOWS\BOOT\DVD\
C:\WINDOWS\BOOT\DVD\EFI
C:\WINDOWS\BOOT\DVD\EFI\BCD
C:\WINDOWS\BOOT\DVD\EFI\boot.sdi
C:\WINDOWS\BOOT\DVD\EFI\en-US
C:\WINDOWS\BOOT\DVD\EFI\en-US\efisys_noprompt.bin
C:\WINDOWS\BOOT\DVD\PCAT
C:\WINDOWS\BOOT\DVD\PCAT\BCD
C:\WINDOWS\BOOT\DVD\PCAT\boot.sdi
C:\WINDOWS\BOOT\DVD\PCAT\etfsboot.com
C:\WINDOWS\BOOT\DVD\PCAT\en-US
C:\WINDOWS\BOOT\DVD\PCAT\en-US\bootfix.bin
有什麼通過創建批處理文件在Windows中的文本文件中獲取上述輸出的方法?我試圖做到目前爲止可以概括爲:
- 使用爲命令檢查由上述批處理文件創建的文本文件,檢查\字符識別目錄的存在(如輸出文本文件中所示)以及findstr命令。此方法部分失敗,部分原因是由於目錄樹的目錄(本例中爲C:\ WINDOWS \ BOOT \ DVD)中的目錄由+字符標識(如您在輸出文本文件中所看到的)。
到目前爲止,我所瞭解的是,通過使用任何內置命令和來自cmd的任何參數或參數都無法實現此目的。我想解決這個問題的方法是首先在批處理文件中使用tree/f/a命令獲取樹,然後使用任何其他批處理文件或者甚至可以使用C++程序來獲得輸出,如linux。
等效命令'LS'是'DIR'。 'dir/s/b' – Squashman
你從哪裏得到這些錯誤信息。閱讀DIR命令的幫助文件! – Squashman
以前我沒有閱讀dir命令的手冊頁,我對自己感到非常抱歉和慚愧。這真的解決了我的問題。謝謝 :) – user561716