【问题标题】:Batch file to list directories recursively in Windows as in linux批处理文件以递归方式在 Windows 中列出目录,就像在 linux 中一样
【发布时间】:2016-02-22 17:54:33
【问题描述】:

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

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

此批处理文件在用户桌面文件夹中名为 tree_output.txt 的文本文件中回显或保存 tree 命令的输出(/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++ 程序 对其进行排序。 strong> 以获取 linux 中的输出。

【问题讨论】:

  • LS 的等效命令是 DIRdir /s /b
  • 你从哪里得到的错误信息。阅读 DIR 命令的帮助文件!
  • 对于之前没有阅读 dir 命令的手册页,我感到非常抱歉和羞愧。这真的解决了我的问题。谢谢:)

标签: windows batch-file


【解决方案1】:

我想你正在寻找

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

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

【讨论】:

    【解决方案2】:

    试试目录 /s /b /ad

    子目录和目录属性

    【讨论】:

      猜你喜欢
      • 2012-10-30
      • 2013-08-20
      • 1970-01-01
      • 2012-10-01
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多