FOR命令看不到隐藏文件

新技术

我正在努力解决我遇到过的最令人沮丧的错误之一。

错误描述:

  该for命令解释程序的命令无法看到隐藏的文件。

复制步骤:

  1. 创建一个临时目录
  2. 创建一些文件
  3. 为文件分配各种属性(包括隐藏属性)
  4. 使用类似的命令 for %i in (*) do echo "%i"

预期成绩:

for默认情况下或通过开关   在循环中处理所有文件

实际结果:

  • 具有除隐藏以外的任何属性的文件将被处理;标记为隐藏的文件被跳过
  • 没有切换到for命令以允许它处理隐藏文件

含义:

   无法从命令提示符处处理所有文件。

问题:

   如何从命令提示符或批处理文件(至少在Windows中,如果不是DOS)处理隐藏文件?

新技术

这是一种(丑陋,不愉快,不理想的)文件变通方法:

for /f "tokens=* delims=" %i in ('dir /b/a-d *') do echo "%i"

和文件夹的版本(类似于for /d…):

for /f "tokens=* delims=" %i in ('dir /b/ad  *') do echo "%i"

以及两者的版本(没有for模拟版本,因此这是有好处的):

for /f "tokens=* delims=" %i in ('dir /b/a   *') do echo "%i"


文件的递归版本(for… /r):

for /f "tokens=* delims=" %i in ('dir /b/s/a-d *') do echo "%i"

和文件夹(for /r /d…):

for /f "tokens=* delims=" %i in ('dir /b/s/ad  *') do echo "%i"

而且两者

for /f "tokens=* delims=" %i in ('dir /b/s/a   *') do echo "%i"



这或多或少起作用,但是肯定有问题(尤其是对于大组文件或文件夹)。希望有更好的解决方案,或者Microsoft可以在补丁中修复/改善此解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章