【问题标题】:windows batch file to read all the super hidden file/directorywindows批处理文件读取所有超级隐藏文件/目录
【发布时间】:2011-12-15 14:00:36
【问题描述】:

我想创建一个批处理文件,可以对当前目录中的所有文件夹执行某些操作。但我发现使用这种语法

for /d %%i in (*) do echo %%i 

它找不到隐藏文件。 那么是否需要添加任何其他语法?

【问题讨论】:

    标签: command-line batch-file window


    【解决方案1】:

    不确定是否可以采取任何措施来修复FOR /D 的行为,但您可以使用不同的方法。您可以在FOR /F 循环中使用DIR 的输出。

    现在DIR 命令接受参数,这允许您获得必要的输出。特别是,您可以指示 DIR 仅显示隐藏目录的名称 (/ADH),而无需其他信息,如日期和时间和摘要 (/B)。在命令提示符处运行DIR /?HELP DIR 以获取更多信息。

    因此,您的循环可能如下所示:

    FOR /F "delims=" %%D IN ('DIR /ADH /B') DO ECHO %%D
    

    FOR /F 循环的delims 选项指示循环消耗DIR 输出的整行,而不是读取到第一个空格,这是默认行为。您可以在命令提示符处调用FOR 上的帮助了解更多信息:FOR /?HELP FOR

    【讨论】:

    • “消耗 DIR 输出的整行”是什么意思?
    • @Fugogugo:如果你没有在选项中指定"delims=",并且在输出中有一个类似Program Files的名字,那么%%D变量将被赋值为Program,而不是@ 987654341@,因为默认情况下,该行被读取到第一个空格字符。指定"delims=" 会导致整个行被读取。或者,可以使用"tokens=*" 而不是"delims=" 来实现相同的效果。
    猜你喜欢
    • 2019-05-20
    • 2010-09-19
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    相关资源
    最近更新 更多