在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' 的位置参数。
但是,我仍然无法使其正常工作。