gpt4 book ai didi

windows - 批处理文件以递归方式在 Windows 中列出目录,就像在 Linux 中一样

转载 作者:行者123 更新时间:2023-12-03 11:09:08 25 4
gpt4 key购买 nike

我想创建一个批处理文件,在 Windows 中以类似 linux 的格式递归列出目录。例如,考虑以下批处理文件:

@echo off
tree /f /a C:\Windows\Boot\dvd>%userprofile%\desktop\tree_output.txt
exit

此批处理文件将 tree 命令的输出回显或保存在用户桌面文件夹中名为 tree_output.txt 的文本文件中(/f 参数也列出子目录中的所有文件,/a 参数显示 tree 的输出命令以 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 中的文本文件中获取上述输出?到目前为止我尝试做的事情可以总结为:

  • 使用 for 命令检查由上述批处理文件创建的文本文件,检查是否存在\字符以识别目录(如您在输出文本文件中所见)以及findstr 命令。此方法失败的部分原因是目录树的根目录(在本例中为 C:\WINDOWS\BOOT\DVD\)由 + 字符标识(如您所见在输出文本文件中)。

到目前为止,我所了解的是,这不能通过使用带有任何参数或来自 cmd 的参数的任何内置命令来实现。我解决这个问题的想法是首先在批处理文件中使用 tree/f/a 命令获取树,然后使用任何其他批处理文件甚至 c++ 程序 以获得与 linux 中一样的输出。

最佳答案

我觉得你在找

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

/s 用于递归,/b 用于裸格式,所以没有文件大小等,/a:d 用于只显示目录,/o:n是按名称排序

关于windows - 批处理文件以递归方式在 Windows 中列出目录,就像在 Linux 中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35560540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com