このエントリーをはてなブックマークに追加


PowerShellで文字列をコマンドとして実行する・Invoke-Expression

文字列変数に格納されたコマンド文字列を、コマンドとして実行する方法を以下に記します。
Linuxなどであれば、evalコマンドに相当します。


関連記事

Invoke-Expressionコマンドレットのサンプル

以下にInvoke-Expressionコマンドレットを使用した動作例を記します。

Invoke-Expressionコマンドレットで文字列数式を実行

PS D:\> $calc="1+2+3+4+5+6+7+8+9+10"
PS D:\> $calc
1+2+3+4+5+6+7+8+9+10
PS D:\> $calc.GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object


PS D:\> Invoke-Expression $calc
55

Invoke-Expressionでディレクトリ表示

PS D:\> $target="c:\"
PS D:\> $cmd = "get-childitem $target"
PS D:\> Invoke-Expression $cmd


    ディレクトリ: C:\


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2015/11/21     21:23                Brother
d-----       2015/09/10     15:50                Logs
d-----       2015/10/30     14:48                PerfLogs
d-r---       2016/01/28     21:42                Program Files
d-r---       2015/11/14     23:33                Users
d-----       2016/01/16     23:52                Windows
d-----       2015/11/21     22:09                Windows.old
-a----       2012/07/26     15:52             24 autoexec.bat
-a----       2012/07/26     15:52             10 config.sys

以上、文字列変数に格納されたコマンド文字列をコマンドとして実行できるInvoke-Expressionコマンドレットの紹介でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-01-28 (木) 22:40:22