我想创建一个批处理文件,该文件在Windows中以类似 linux 的格式递归列出目录。例如,考虑以下批处理文件:
@echo off
tree /f /a C:\Windows\Boot\dvd>%userprofile%\desktop\tree_output.txt
exit
Run Code Online (Sandbox Code Playgroud)
此批处理文件将 tree 命令的输出回显或保存在用户桌面文件夹中名为 tree_output.txt 的文本文件中(/f 参数也列出子目录中的所有文件,/a 参数以 ASCII 格式显示 tree 命令的输出文本格式而不是图形格式)。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
Run Code Online (Sandbox Code Playgroud)
但是,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 …Run Code Online (Sandbox Code Playgroud)