windows批处理文件读取所有超级隐藏文件/目录
我想创建一个批处理文件,可以对当前目录中的所有文件夹执行某些操作。但我发现使用这种语法
for /d %%i in (*) do echo %%i
它无法找到隐藏文件。 那么是否需要添加任何额外的语法?
I wanna create a batch file that could do something to all folder in the current directory. but I found out that using this syntax
for /d %%i in (*) do echo %%i
it cannot find the hidden file.
so is there any additional syntax need to be added?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不确定是否可以采取任何措施来修复
FOR /D
的行为,但您可以使用不同的方法。您可以在FOR /F
循环中使用DIR
的输出。现在,
DIR
命令接受参数,这使您能够获得必要的输出。特别是,您可以指示DIR
仅显示隐藏目录的名称 (/ADH
),并且无需其他信息,例如日期和时间以及摘要 (/B
)。在命令提示符处运行DIR /?
或HELP DIR
以获取更多信息。因此,您的循环可能如下所示:
FOR /F
循环的delims
选项指示循环消耗DIR
输出的整行,而不是读取到第一个空格,这是默认行为。您可以在命令提示符处调用FOR
的帮助来了解更多信息:FOR /?
或HELP FOR
。Not sure if anything could be done to fix the behaviour of
FOR /D
, but you could use a different approach. You could use the output ofDIR
in aFOR /F
loop.Now the
DIR
command accepts arguments, which allows you to achieve the necessary output. In particular, you can instructDIR
to only display the names of hidden directories (/ADH
) and do so without other information, like date&time and summary (/B
). RunDIR /?
orHELP DIR
at the command prompt for more information.So, your loop might look like this:
The
delims
option of theFOR /F
loop instructs the loop to consume entire lines of theDIR
output, as opposed to reading up to the first space, which is the default behaviour. You can learn more about it calling the help onFOR
at the command prompt:FOR /?
orHELP FOR
.