使用批处理文件打开单独文件夹中的每个文件

时间:2018-05-09 13:55:21

标签: batch-file for-loop

好的,所以我写了一个小代码脚本:

    for /R %%f in (*.acd) do C:\Users\jelle\Downloads\quickbms\quickbms.exe D:\assetto_corsa_acd.bms %%f "\data"

但问题是文件data.acd将使用quickbms.exe解压缩到我的批处理文件所在的主文件夹中的数据文件夹,而不是位于data.acd所在文件夹中的/ data文件夹中文件是,所以x:\ carname(folder_with_data.acd_in_it)\ data 但我无法让它发挥作用,

所以我的问题是如何让quickbms将acd文件解压缩到acd文件所在的文件夹而不是批处理文件所在的位置? 另请注意,quickbms在我的路径中

提前致谢。

1 个答案:

答案 0 :(得分:0)

您发布的脚本似乎正在运行两行而不是一行。

基于以下用法:

quickbms.exe [options] <script.BMS> <input_archive/folder> [output_folder]

我会建议这样的事情:

@Echo Off
Rem Full path to QuickBMS
Set "eBMS=%UserProfile%\Downloads\quickbms\quickbms.exe"
Rem Full path to BMS script
Set "sBMS=D:\assetto_corsa_acd.BMS"
Rem BMS Options
Set "oBMS=-o -d"
Rem The source directory path to recurse (. is current, %~1 is arg[0])
Set "sDIR=."
Rem The sourcefile extension
Set "sEXT=.acd"
Rem The output directory path (.\ relevant to current, %~2 is arg[1])
Set "tOUT=.\data"

For /R "%sDIR%" %%A In (*%sEXT%) Do "%eBMS%" %oBMS% "%sBMS%" "%%A" "%tOUT%"

根据Set arks填写Rem命令行,并尝试根据需要报告任何问题。