跳过 .bat 脚本中的隐藏文件夹

跳过 .bat 脚本中的隐藏文件夹

我正在尝试找到一种方法来获取所有文件的列表,而不包含隐藏目录。我尝试了几种类似的方法:

dir  /b  /s  /a:-h  z:\  >toc-z.txt

但这只会跳过隐藏文件。我需要一个排除所有隐藏文件夹的列表,包括这些隐藏文件夹的文件和子文件夹。

有什么方法可以让我跳过解析和列出隐藏文件夹的过程?

答案1

这有点黑客,但你可能可以使用xcopy带有/land /s(或者可能是/e)选项的命令。关键是/l告诉它显示要成为复制而不是制作任何副本。默认情况下,xcopy不会复制隐藏文件或系统文件,因此这些文件将被忽略。

答案2

这是一个很长的命令,但它有效,并且相当快:-)

这是命令行的一个长行

>toc-z.txt ((for %F in ("z:\*") do @echo %F)&for /f "delims=" %D in ('dir /s /ad-h-l /b z:\*^|sort') do @for %F in ("%D\*") do @echo %F)

这是一个批处理文件

@echo off
>toc-z.txt (
  for %%F in ("z:\*") do @echo %%F
  for /f "delims=" %%D in (
    'dir /s /ad-h-l /b z:\*^|sort'
  ) do for %%F in ("%%D\*") do echo %%F
)

相关内容