2017-03-08 28 views
5

ユーザーにサーバーで使用できるWindows PowerShellスクリプトがあります。私は、PSスクリプトを見つけて右クリックして「powershellを使って実行する」か「開く」をクリックする必要はありません。 Windows(少なくともWin 7以上)のデフォルトプログラムはメモ帳です。バッチファイルで「開く」方法

これを行うためのバッチファイルを作成します。

start "c:\myfile.ps1" powershell.exe 

や他のいくつかのバリエーションを、私はやることができましたすべては、PowerShellを起動、またはそのデフォルトのプログラム、メモ帳の私のファイルを開くのいずれかです:私が試してみました。

アドバイスありがとうございます。ありがとう!

ボーナス質問:バッチファイルを管理者として実行すると、PSスクリプトも管理者として実行されますか?

+1

「スタート」c:\ myfile.ps1「powershell.exe」 - >「スタート」「powershell.exe」「c:\ myfile.ps1」「 –

+0

あなたは試してみてください:start "" powershell.exe "c :\ myfile.ps1 "?私は試してみた(そしてもう一度試してみた)ので、メモ帳でps1ファイルを開く。 – coinbird

+1

はい、彼はそうです。今は、あなたが始めているもののタイトルとしてファイルパスを使用しています。 [here](https://ss64.com/nt/start.html)の構文を確認してください。 – TheMadTechnician

答えて

6

単にあなたのバッチファイルでたpowershell.exeため-file引数を使用:あなたがしたいことがありよう

PowerShell.exe -file c:\MyFile.ps1 

また、一部のユーザーは、実行されてからスクリプトを制限すると何かに設定され、その実行ポリシーを持っていることあなたはアンスガーWiechersを実行して述べたように、あなたがそうすることができ、それを起動するためにstartを使用したい場合は

PowerShell.exe -ExecutionPolicy Bypass -file c:\MyFile.ps1 

:ような何かを

startに関する注意事項:既定では、PowerShellを別のウィンドウで起動し、PowerShellウィンドウが閉じるのを待たずに残りのバッチファイルを実行し続けます。それが望ましくない場合は、2つの選択肢があります。 /waitを指定すると、バッチファイルを続行する前にPowerShellウィンドウを閉じるか、/ Bオプションを使用すると新しいウィンドウが開きません。現在のコンソールウィンドウでPowerShellが実行されます。

最後に、バッチファイルが管理者コンテキストで実行されている場合、PowerShellも同様です。

+2

'start'が新しいウィンドウでプログラムを起動し、' powershell.exe'を直接呼び出すと、現在の(コンソール)ウィンドウでインタープリタが実行されることに注意してください。 –

+0

パーフェクト。そして私はそれがプログラムを起動する構文の一部であると思ったので(PowerShellのような)startを使っていました。あなたの助けをありがとう! – coinbird

関連する問題