powershell:如何评估从文件中读取的字符串

时间:2011-01-29 11:54:28

标签: powershell eval

文件a.txt是:

从test_ $ suffix中删除

  

$ a = get-content a.txt

     

$后缀= “TABLEA”

如何操纵变量将其设置为

从test_tableA中删除

3 个答案:

答案 0 :(得分:33)

$a=get-content a.txt
$suffix="tableA"

$ExecutionContext.InvokeCommand.ExpandString($a)

答案 1 :(得分:19)

Invoke-Expression是等效的。

$strExpression = "5 + 5 -eq 10"
Invoke-Expression $strExpression
True

有关详细信息,请参阅http://technet.microsoft.com/en-us/library/ee176880.aspx

答案 2 :(得分:2)

这是一种方式。双引号here-string中的变量会自动替换。请确保您的输入文件符合here-strings的PS规则。

 function convertto-herestring { 
 begin {$temp_h_string = '@"' + "`n"} 
 process {$temp_h_string += $_ + "`n"} 
 end { 
     $temp_h_string += '"@' 
     iex $temp_h_string 
     } 
 } 

 $suffix = "tableA"

 get-content testfile.txt

 delete from test_$suffix

 get-content testfile.txt | convertto-herestring

 delete from test_tableA