2016-02-22 92 views
0

我想創建一個批處理文件,遞歸列出的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

+1

等效命令'LS'是'DIR'。 'dir/s/b' – Squashman

+0

你從哪裏得到這些錯誤信息。閱讀DIR命令的幫助文件! – Squashman

+0

以前我沒有閱讀dir命令的手冊頁,我對自己感到非常抱歉和慚愧。這真的解決了我的問題。謝謝 :) – user561716

回答

0

我認爲你正在尋找

dir /a:d /s /b /o:n 

/s用於遞歸,/b裸格式,所以沒有的filesizes等,/a:d只用於顯示目錄和/o:n是名訂購。

0

嘗試DIR/S/B /廣告

這是子目錄裸露和目錄屬性

相關問題