PowerShellを実行します。
- 構文
- UString = POWERSHELL( コマンド, 同期フラグ, 画面表示 )
- 引数
- コマンド (String)必須
- POWERSHELLのコマンド
- 同期フラグ (Boolean = False)省略可
- FALSE
- 終了を待つ (デフォルト)
- TRUE
- 待たずに戻る
- 画面表示 (Boolean = False)省略可
- FALSE
- POWERSHELL画面を表示しない (デフォルト)
- TRUE
- 表示する
- 2
- 最小化状態で起動する
- 戻り値
- 標準出力を返す(同期フラグがTrue、もしくは画面表示がTrue,2の場合は返しません)
使い方
コマンドを実行し返された結果を出力
PowerShellで(Get-Date).DateTimeのコマンドを実行し、返された結果を出力します。以下のコマンドは今日の日付を出力します。
同期フラグ
POWERSHELL関数 (スクリプト関数)はオーバーヘッドでPowerShellの起動が遅いので、戻り値がないものや処理の終了を待機する必要のないときは、同期フラグにTrueを指定します。
また画面表示にTrueを指定しておくとPowerShellの処理中はウィンドウが表示されるので、このウィンドウの有無で処理が完了したかの確認に使うことができます。
以下はcmdに指定されたコマンドを実行するプログラムです。同期フラグにTrueを指定しているので完了前に処理は進みますがGETID関数でPowerShellウィンドウの有無を調べ、処理画面が表示されている間は待機するプログラムです。
同期フラグにTrueを指定すると処理の終了を待たずに次に進むため、オーバーヘッドでの待ち時間を他の処理に回すことができます。このプログラムの場合、POWERSHELL関数 (スクリプト関数)の直後に他の処理を記述します。
ただし同期フラグ・画面表示をデフォルト以外に指定すると戻り値の取得ができないため、戻り値が必要な処理ではこの方法は使えません。
実行結果をテキストファイルに出力
POWERSHELL関数 (スクリプト関数)での結果をテキストファイルに出力するにはOut-Fileコマンドを使い、以下のように記述します。commandに実行したいコマンドを指定します。
以下は実行中のプロセス一覧をD:\Desktop\プロセス一覧.txtに出力する例です。
POWERSHELL関数 (スクリプト関数)の実行結果をテキストファイルに出力し、メモ帳で開く場合は以下のように記述します。
複数のコマンドを1行で書く
command1に続けてcommand2を実行したいときは、コマンドを;(セミコロン)で繋げます。
command1の処理結果をcommand2に渡すには|(パイプライン)を使います。
POWERSHELL2
POWERSHELL関数 (スクリプト関数)は末尾に改行が入るのでそれを取り除くための関数です。
通常POWERSHELL関数 (スクリプト関数)を実行すると改行(<#CR>)が余計に含まれてしまいます。
以下はPowerShellのバージョンを取得するプログラムです。
- 結果
POWERSHELL2関数は末尾の改行を取り除いてPOWERSHELL関数 (スクリプト関数)を実行します。
- 結果
プログラム実行例
ファイルの作成日時・更新日時・アクセス日時を書き換える
PCをシャットダウンする(PowerShell)
PowerShellのStop-ComputerコマンドでPCのシャットダウンを行います。
PCを再起動する(PowerShell)
PowerShellのRestart-Computer コマンドでPCの再起動を行います。
システムの起動時間を取得
システムの起動時間をyyyy年m月d日 h:n:sの形式で取得します。
IEオブジェクト(COMオブジェクト)のメンバー一覧を取得する
Shellオブジェクト(COMオブジェクト)のメンバー一覧を取得する
PowerShellのバージョンを取得
PowerShellのメジャーバージョンを取得
PowerShellのマイナーバージョンを取得
PowerShellのビルドを取得
PowerShellのリビジョンを取得
ホスト名(コンピュータ名)を取得
カレントディレクトリを取得
関連記事
- DOSCMD関数 (スクリプト関数)
- コマンドプロンプトを実行します。
- POFF関数 (スクリプト関数)
- 電源断、ログオフなどの操作をします。
- FolderItem.InvokeVerb メソッド (Shell)
- ファイルやフォルダを右クリックしたときに表示されるメニューのコマンドを実行します。
