#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)