我正在努力解决我遇到过的最令人沮丧的错误之一。
错误描述:
该for
命令解释程序的命令无法看到隐藏的文件。
复制步骤:
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] 删除。
我来说两句