Windows bat函数在文件夹和子文件夹中查找文件并对其进行处理。

Windows bat函数在文件夹和子文件夹中查找文件并对其进行处理。,windows,batch-file,find,batch-processing,Windows,Batch File,Find,Batch Processing,我需要在文件夹和所有子文件夹中找到具有特定文件名(例如main.css)的所有文件,然后对其进行处理(例如重命名、移动、删除、添加文本行等)这就是您需要的: for /R %f in (main.css) do @echo "%f" 当然,您可以将echo替换为您希望对文件执行的任何操作。如果需要,可以使用通配符: for /R %f in (*.css) do @echo "%f" 这将遍历目录树: for /R %f in (main.css) do @echo "%f" 它实际上与文

我需要在文件夹和所有子文件夹中找到具有特定文件名(例如main.css)的所有文件,然后对其进行处理(例如重命名、移动、删除、添加文本行等)

这就是您需要的:

for /R %f in (main.css) do @echo "%f"
当然,您可以将
echo
替换为您希望对文件执行的任何操作。如果需要,可以使用通配符:

for /R %f in (*.css) do @echo "%f"

这将遍历目录树:

for /R %f in (main.css) do @echo "%f"
它实际上与文件名不匹配。也就是说,如果您有一棵树:

    DirectoryA
        A1
        A2
/R的操作将给出DirectoryA/main.css的%f,然后是DirectoryA/A1/main.css,依此类推,即使main.css不在这些目录中。因此,为了确保确实存在文件(或目录),您应该执行以下操作:

for /R %f in (main.css) do @IF EXIST %f @echo "%f"
另外,请注意,您确实需要引用文件名,因为如果路径或文件包含空格,则目录遍历可能会中断

至少以上是它在Windows 8中的工作方式。

可能重复的