新的批处理文件格式/命令?

时间:2013-12-11 08:46:17

标签: batch-file

上次我使用批处理文件时,我从MSDOS 5.0书中学到了一些例子。 现在,在尝试对目录中的所有文件应用命令时,我偶然发现了

for %%J in (*.exe *.dll) do @echo %%J

我认为“这不能是一个批处理文件”,但它确实有效。

Q1:如何调用这种新格式和/或在哪里可以找到我可以用这种新格式做的事情列表?

Q2:(* .exe * .dll)不是DOS风格的命令;那是什么?

问题3:如何修改此“命令”以在所有子目录中包含文件?

2 个答案:

答案 0 :(得分:1)

  1. 非正式地,NT批次。当然,谁在乎呢?

  2. 当然是dos风格。 *总是意味着matches anything也许不在FOR命令中,但那是你的NT批处理。增强功能,请参阅?

  3. 看看

    FOR /?

  4. 来自提示。

    或者通常

    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
)