2013-10-25 41 views
0

你好,我需要以下流程的批次:在转换使用多个文件批处理命令

一吨从子文件夹中的文件,必须使用转换器从文件类型转换的.m2到.m2_lk 不复制文件在一个新的文件夹或类似的东西。

例如文件“tree.m2”是在子文件必须使用“converter.exe”

的子文件夹,我曾尝试这个代码,但它不工作:

FOR /D "X:\XYZ\M2\ToLkM2\" %%G IN (*.m2) DO converter.exe %%G 

回答

0
for /f "tokens=*" %%i in ('dir X:\XYZ\M2\ToLkM2\ /b /s^|find ".m2" /i') do converter.exe %%i 
+0

THX完美的作品 – user2921544

0

您可以尝试使用FORFILES命令:

FORFILES /s /M *.m2 /C "cmd /c converter.exe @file @file_lk " 

选项/s启用递归到子目录。阅读here了解可以在命令部分中使用的许多文件相关替换。

+0

这看起来很不错...我不认为这是值得的向下投票')' – nephi12

1

它看起来像我只是使用了错误的FOR选项。你想要/R,而不是/D。此外,文件规格应该在您的转换命令行中引用,以防有空格或特殊字符。

FOR /R "X:\XYZ\M2\ToLkM2\" %%G IN (*.m2) DO converter.exe "%%G" 
+0

注,即%G,而不是%%摹应在命令行中使用 – pmod

+0

@pmod - 是的,OP使用批处理文件标记,并使用%% G,所以我假设代码是在批处理文件中。 – dbenham