批处理文件以列出目录中所有文件夹并输出至txt文件

5

我正在尝试创建一个批处理文件来解析Z:\目录(不包括子文件夹),该目录是映射的网络驱动器,以提供所有名称包含“COMPANY_*”并将这些文件夹名称与完整路径输出到文本文件中。

文本文件将保存在程序文件夹位置,该位置在运行程序时引用。

例如:

目录:

  • Z:\Company_001
  • Z:\def
  • Z:\Comapny_002
  • Z:\Company_101

文本文件:

  • Z:\Company_001
  • Z:\Company_002
  • Z:\Company_101

我开始尝试,但不知道自己在做什么,而且需要在10台计算机上运行此批处理文件,因此不想引起任何问题。

dir "Z:\" /b >d:\test.txt
FOR /F "delims=" %%a in (test.txt) do @echo Z:\%%a>>output.txt
del "d:\test.txt"
start C:\Windows\System32\notepad.exe "d:\output.txt"
pause
2个回答

7
cd Z:\
for /D %%A IN ("COMPANY_*") DO echo "Z:\%%A">>D:\output.txt

如果您希望,也可以添加一个用记事本打开文件的调用。现在的内容已经可以正常工作。


6

看起来您可以直接获取所需文件夹,无需中间过滤:

dir Z:\Company_* /b /a:d >output.txt

1
这是一个非常有效的解决方案,而且更加简洁。我建议使用“for”循环的唯一原因是因为OP想要将完整路径打印到文件中(当没有子文件夹涉及时,这些信息实际上非常琐碎)。 - Egor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接