是否可以设置如下脚本:
file.exe [CMD(POWERSHELL(CMD))]
这是我到目前为止的代码,(结合我在这里得到的答案):
:RETURN
powershell -command "Start-Process -FilePath '\\my\file\path\myapplication.exe'"
powershell -command "if (gps | ? {$_.mainwindowtitle} | select name, id, mainwindowtitle | where {$_.Name -match 'myapplication'}) { Write-Output 'App verified, running in Taskbar.'} else { Write-Output 'App no running in Taskbar, checking again.' cmd.exe /c 'GOTO RETURN' }"
上述批处理文件已转换为.exe。
我的主要问题是cmd.exe /c 'GOTO RETURN'
被读为Write-Output
而不是代码。
答案 0 :(得分:1)
因此,如果我正确解析:
您有一个cmd脚本,您正在调用powershell进行检查,并希望根据此powershell命令的结果执行操作。
如果是这样,则必须将对powershell的调用更改为在 :RETURN
#command lines here
For /F "Tokens=*" %%A IN ('
Powershell -command "if (gps ^| ? {$_.mainwindowtitle} ^| select name, id, mainwindowtitle ^| where {$_.Name -match ^'myapplication^'}^) { ^'App verified, running in Taskbar.^' } else { ^'App no running in Taskbar, checking again.^' }"
') DO (
IF /I "%%A" EQU "App no running in Taskbar, checking again." (
GOTO :RETURN
)
)
循环内完成以捕获其输出。
这是我在手机上进行的未经测试的示例:
{{1}}