powershell: как оценить строку, прочитанную из файла
Файл a.txt это:
удалить из test_$ суффикса
$ a = get-content a.txt
$ Суффикс ="TABLEA"
как манипулировать переменной, чтобы установить ее как
удалить из test_tableA
3 ответа
Решение
$a=get-content a.txt
$suffix="tableA"
$ExecutionContext.InvokeCommand.ExpandString($a)
Invoke-Expression является эквивалентом.
$strExpression = "5 + 5 -eq 10"
Invoke-Expression $strExpression
True
См. http://technet.microsoft.com/en-us/library/ee176880.aspx для получения дополнительной информации.
Вот один из способов. Переменные в двойной строке здесь подставляются автоматически. Просто убедитесь, что ваш входной файл соответствует правилам 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