例如; 使用旧的命令提示符将是:
cmd.exe /k mybatchfile.bat
放入一个 cmd 实例(或者实际上是 PowerShell 本身)并输入:
powershell -?
您会看到 powershell.exe 有一个“-noexit”参数,告诉它在执行“启动命令”后不要退出。
运行 PowerShell.exe 时,只需提供-NoExit开关,如下所示:
PowerShell -NoExit -File "C:\SomeFolder\SomePowerShellScript.ps1"
PowerShell -NoExit -Command "Write-Host 'This window will stay open.'"
或者,如果您想运行一个文件,然后运行一个命令并让窗口保持打开状态,您可以执行以下操作:
PowerShell -NoExit "& 'C:\SomeFolder\SomePowerShellScript.ps1'; Write-Host 'This window will stay open.'"
如果没有提供-Command参数是隐含的,这里我们使用&来调用 PowerShell 脚本,而; 分隔 PowerShell 命令。
此外,在我的博客文章的底部,我展示了一个快速的注册表更改,您可以在执行脚本/命令后始终让 PowerShell 保持打开状态,这样您就不需要始终显式提供 -NoExit 开关所有时间。
我相信你已经知道了,但我只是把它贴出来
$CreateDate = (Get-Date -format 'yyyy-MM-dd hh-mm-ss')
$RemoteServerName ="server name"
$process = [WMICLASS]"\\$RemoteServerName\ROOT\CIMV2:win32_process"
$result = $process.Create("C:\path to a script\test.bat")
$result | out-file -file "C:\some path \Log-$CreatedDate.txt"