Powershell でバッチ ファイルを実行し、開いたままにするにはどうすればよいですか?
-
08-06-2019 - |
質問
例えば;古いコマンド プロンプトでは次のようになります。
cmd.exe /k mybatchfile.bat
解決
cmd インスタンス (または実際には PowerShell 自体) にドロップし、次のように入力します。
powershell -?
powershell.exe には、「スタートアップ コマンド」の実行後に終了しないように指示する「-noexit」パラメータがあることがわかります。
他のヒント
PowerShell.exe を実行するときは、次のものを指定するだけです。 -出口なし 次のように切り替えます。
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.'"
の -指示 パラメータが指定されていない場合は暗黙的に指定されます。ここでは、 & 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"
所属していません StackOverflow