PowerShellスクリプトを実行する方法
powershell.exe 'C:\my_path\yada_yada\run_import_script.ps1'
(--noexit
の有無にかかわらず)ファイル名が出力されることを除いて、これはまったく何も返しません。
エラーなし、メッセージなし、なしああ、私は-noexit
を追加するとき、同じことが起こります、しかし私はPowerShellの中に残り、手動で終了しなければなりません。
.ps1ファイルはプログラムを実行し、そのプログラムの出力に応じてエラーレベルを返します。しかし、まだそこにたどり着いていないと確信しています。
何がおかしいのですか?
スクリプトが存在するディレクトリに移動します。
PS> cd C:\my_path\yada_yada\ (enter)
スクリプトを実行します。
PS> .\run_import_script.ps1 (enter)
何が足りないの?
または、cmd.exe
から次のようにPowerShellスクリプトを実行できます。
powershell -noexit "& ""C:\my_path\yada_yada\run_import_script.ps1""" (enter)
これによると ブログ記事はこちら
あるいは、C#アプリからPowershellスクリプトを実行することもできます。
PowerShell 2.0を使用している場合は、PowerShell.exeの-Fileパラメータを使用してcmd.exeなどの別の環境からスクリプトを起動します。
Powershell.exe -File C:\my_path\yada_yada\run_import_script.ps1
デフォルトのスクリプト実行ポリシーを変更せずにスクリプトを実行する場合は、起動時にバイパススイッチを使用できますWindows PowerShell.
powershell [-noexit] -executionpolicy bypass -File <Filename>
タイプ:
powershell -executionpolicy bypass -File .\Test.ps1
メモ:ここでTest.ps1
はPowerShellスクリプトです。
私は同じ問題を抱えていました、そして私は試してみました...そして最後に私は使用しました:
powershell.exe -noexit "& 'c:\Data\ScheduledScripts\ShutdownVM.ps1'"
そしてこの行をバッチファイルに入れると、これはうまくいきます。
あなたがPowerShell 1.0しか持っていないのなら、これは十分にうまくいくようです:
powershell -command - < c:\mypath\myscript.ps1
スクリプトファイルをPowerShellコマンドラインにパイプします。
とても簡単。 Windowsで.ps1ファイルを右クリックし、シェルメニューでPowerShellで実行をクリックします。
Cmd(BAT)ファイルを使う:
@echo off
color 1F
echo.
C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File "PrepareEnvironment.ps1"
:EOF
echo Waiting seconds
timeout /t 10 /nobreak > NUL
あなたが必要な場合管理者として実行してください:
簡単な方法は、 PowerShell ISE を使用してスクリプトを開き、スクリプトを実行して呼び出すことです。
スクリプトのパス、つまりcmdによるパス設定を指定します。
$> . c:\program file\prog.ps1
PowerShellのエントリポイント機能を実行します。
例えば、$> add or entry_func or main
スクリプトの拡張子が.ps1
で、PowerShellウィンドウにいる場合は、./myscript.ps1
を実行するだけです(ファイルが作業ディレクトリにあると仮定して)。
これは、とにかくPowerShellバージョン5.1がインストールされたWindows 10で私には当てはまります。それを可能にするために何もしていないと思います。
WindowsタスクスケジューラでPowerShellスクリプトを実行したい場合は、次の手順に従ってください。
タスクを作成する
Program/Script
をPowershell.exe
に設定
Arguments
を-File "C:\xxx.ps1"
に設定します
別の答えからです。Windowsタスクスケジューラを使用してPowerShellスクリプトを自動的に実行する方法を教えてください。
ファイル名の前に-File
パラメータを使用してください。引用符はPowerShellにそれが一連のコマンドであると考えさせます。