如何在批处理命令中使用通配符进行文件名For?

时间:2016-07-09 16:42:35

标签: batch-file

此批处理行使用完整文件名:

for /f "skip=3 delims=*" %%g in (cc_data_3-3-2016_15-37-19.xml  cc_data_3-28-2016_0-25-36.xml) do (echo %%g >>tempfile.txt)

当文件名被通配符替换时,这个文件名不会出现:

for /f "skip=3 delims=*" %%g in (*.xml) do (echo %%g >>tempfile.txt)

出了什么问题,我该怎么办才能让它发挥作用?我需要* .xml文件。它们与批处理文件位于同一文件夹中。

1 个答案:

答案 0 :(得分:2)

for /f仅采用文件名。如果要使用通配符,则需要自己扩展通配符。你可以使用for来做到这一点,而不是一次通话:

for %%f in (*.xml) do (
    for /f "skip=3 delims=*" %%g in (%%f) do (echo %%g >>tempfile.txt)
)