【发布时间】:2017-01-30 09:28:06
【问题描述】:
在 cmd 中,我尝试运行位于 PowerShell 脚本 script1 中的 Method1。
Method1 是一个需要几个小时的方法,我简直想开枪就忘了。
以下内容对我有用:
c:\temp> powershell
PS c:\temp> . .\script1.ps1;Method1
当我执行上述几行时,只要我保持 PS 的 CMD 打开,一切都会正常工作。一旦我关闭 PS 窗口,它就会杀死 Method1。
所以实际上我希望在一行中通过 cmd 以某种方式使 Method1 在不依赖 PowerShell 窗口的情况下工作,也许创建一个新进程.. 我不太确定。
我试过了:
c:\temp> cmd /c powershell . .\script1.ps1;Method1
它运行了几秒钟,但是当 cmd 关闭时,Method1 也终止了。
我也试过
c:\temp>cmd /c powershell -noexit "& { . .\script.ps1;Method1 }"
再一次,一旦我这样做了,它就可以工作了。但是,会打开一个 PowerShell 窗口,如果我关闭它,它会终止 Method1。
在你的帮助下,我试过了:
c:\temp> cmd /c powershell start-process cmd /c powershell . .\script1.ps1;Method1
但我得到一个例外:
Start-Process : 找不到接受的位置参数 参数“powershell”。
但是,我仍然无法让它工作。
【问题讨论】:
标签: powershell cmd