我想创建一个批处理文件,递归列出的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