我试图仅使用一个.bat
文件来执行我的Python应用。
我的代码是:
powershell -c "& { $Args | % { pythonw $_ } } 'C:\Users\pc2\Dropbox\app1.py' 'C:\Users\pc2\Dropbox\app2.py' 'C:\Users\pc2\Dropbox\app3.py' 'C:\Users\pc2\Dropbox\app4.py' 'C:\Users\pc2\Dropbox\app5.py'"
暂停
这应该在PowerShell中打开所有脚本,但是当执行bat文件时,cmd窗口打开然后我得到:
C:\Users\USER\Dropbox\Aplicaciones>powershell -c "& { $Args | \Users\pc2\Dropbox\Aplicaciones\OnlyBot\only.py' 'C:\Users\pc2\Dropbox\Aplicaciones\Linker2Bot\linker.py' 'C:\Users\pc2\Dropbox\Aplicaciones\Esmuybarato\barato.py' 'C:\Users\pc2\Dropbox\Aplicaciones\to2\to2.py' 'C:\Users\pc2\Dropbox\Aplicaciones\TrackerBOT\boxxon.py'"
Falta la cadena en el terminador:'。 + CategoryInfo:ParserError:(:) [],ParentContainsErrorRecordException + FullyQualifiedErrorId:TerminatorExpectedAtEndOfString
我注意到批处理执行时缺少pythonw $_
。
我该如何解决这个问题?
答案 0 :(得分:0)
正如Squashman指出的那样,你可能只需要加倍%
:
powershell -c "& { $Args | %%{ pythonw $_ } } 'C:\Users\pc2\Dropbox\app1.py' 'C:\Users\pc2\Dropbox\app2.py' 'C:\Users\pc2\Dropbox\app3.py' 'C:\Users\pc2\Dropbox\app4.py' 'C:\Users\pc2\Dropbox\app5.py'"
百分比符号是批处理中用于引用变量值的特殊字符。所以你需要通过加倍来逃避百分号。