2015-10-06 166 views
0

我需要创建一个.bat文件,这可能非常简单,但我很难找出如何去做。批处理 - 如何替换%%变量中的字符串

我需要一个批次得到的所有文件*的.ui在当前文件夹,并执行程序传递两个参数到这样一个现实:*的.ui文件名,并与这两项修改文件名相同

  • 新增../在前面,所以引用的文件是在父文件夹
  • 替换从文件扩展名为*的.ui为*的.py

在伪:

for every file *.ui in this folder as file: 
    file2 = "../" + replace(file, ".ui", ".py") 
    execute python.exe file -o file2 

这是最后的蝙蝠,但更换扩展部分缺失:

FOR %i IN (*.ui) DO python -m PyQt4.uic.pyuic %i -o (????) 

我已经(????)的文件名手动尝试批量替换和它的作品。但是,如何添加../并将.ui替换为.py

谢谢!

回答

2
FOR %i IN (*.ui) DO python -m PyQt4.uic.pyuic %i -o ..\%~ni.py 

看到for/?

+0

你好,抱歉,但我不明白你的答案。你看见'for /?'是什么意思。我试过这个脚本,它会抛出一个错误。对不起,如果这对你来说太新手了,但如果你能帮助我,我会非常感激。 – mesafria

+0

顺便说一句,这是它引发的错误:http://puu.sh/kAHkj/98853f4282.png – mesafria

+0

对于%i,我在(* .bat)中做了什么@echo .. \%〜ni.py'说? (如果你在批处理文件中使用它,加倍'%':'%% i'和'.. \ %%〜ni.py') – Stephan