powershell: как оценить строку, прочитанную из файла - PullRequest
17 голосов
/ 29 января 2011

файл a.txt:

удалить из test_ $ суффикса

$ a = get-content a.txt

$ Суффикс = "TABLEA"

как манипулировать переменной, чтобы установить ее как

удалить из test_tableA

Ответы [ 3 ]

33 голосов
/ 29 января 2011
$a=get-content a.txt
$suffix="tableA"

$ExecutionContext.InvokeCommand.ExpandString($a)
19 голосов
/ 04 декабря 2012

Invoke-Expression является эквивалентом.

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

См. http://technet.microsoft.com/en-us/library/ee176880.aspx для получения дополнительной информации.

2 голосов
/ 29 января 2011

Вот один из способов. Переменные в двойной строке здесь подставляются автоматически. Просто убедитесь, что ваш входной файл соответствует правилам PS для here-строк.

 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
...