#navi(../)
* PowerShellで文字列をコマンドとして実行する・Invoke-Expression [#x1f22225]
文字列変数に格納されたコマンド文字列を、コマンドとして実行する方法を以下に記します。~
Linuxなどであれば、evalコマンドに相当します。

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* 関連記事 [#v0e40c42]
-[[PowerShellスクリプトが起動できない環境でスクリプトを起動する方法>PowerShell/PowerShellスクリプトが起動できない環境でスクリプトを起動する方法]]

* Invoke-Expressionコマンドレットのサンプル [#uea0c331]
以下にInvoke-Expressionコマンドレットを使用した動作例を記します。

** Invoke-Expressionコマンドレットで文字列数式を実行 [#udadfc60]
 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でディレクトリ表示 [#bf348f9b]
 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コマンドレットの紹介でした。

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS