上次我使用批处理文件时,我从MSDOS 5.0书中学到了一些例子。 现在,在尝试对目录中的所有文件应用命令时,我偶然发现了
for %%J in (*.exe *.dll) do @echo %%J
我认为“这不能是一个批处理文件”,但它确实有效。
Q1:如何调用这种新格式和/或在哪里可以找到我可以用这种新格式做的事情列表?
Q2:(* .exe * .dll)不是DOS风格的命令;那是什么?
问题3:如何修改此“命令”以在所有子目录中包含文件?
答案 0 :(得分:1)
非正式地,NT批次。当然,谁在乎呢?
当然是dos风格。 *总是意味着matches anything
也许不在FOR
命令中,但那是你的NT批处理。增强功能,请参阅?
看看
FOR /?
来自提示。
或者通常
commandname /?
或转到Help & Support
并查找command line
答案 1 :(得分:0)
这是一个DOS风格的命令。在DOS中The format of for-loop
:
FOR%变量IN(设置)DO命令[命令参数]
(*.exe *.dll)
是for命令中的集合,它表示所有带有exe和dll扩展名的文件
*
是通配符。
因此,此命令将回显当前目录中所有exe和dll文件的名称。
您可以使用以下for循环在所有子目录中包含文件:
@echo off
for /F "delims==" %%d in ('dir /s /b /o:gn *.exe *.dll') DO (
ECHO %%d
)