我想创建一个批处理文件,该文件在 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
然而, linux 中的 ls -R 命令会以递归的方式列出目录:
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中的文本文件中获取上述输出?到目前为止我尝试做的事情可以概括为:
到目前为止我所理解的是,使用任何带有cmd参数或参数的内置命令都无法实现这一点。我想解决这个问题的方法是先在批处理文件中使用 tree / f / a 命令获取树,然后使用任何其他批处理文件或甚至 c ++程序对其进行排序获取输出,如 linux 。
答案 0 :(得分:1)
我认为你正在寻找
find . -name '*.html' -not -name '*.bin*'
dir /a:d /s /b /o:n
用于递归,/s
用于裸格式,因此没有文件大小等,/b
仅用于显示目录,/a:d
用于排序名。
答案 1 :(得分:0)
尝试Dir / s / b / ad
是子目录裸和目录属性