powershell: how to evaluate a string read from a file

后端 未结 3 730
南旧
南旧 2020-12-31 01:17

file a.txt is:

delete from test_$suffix

$a=get-content a.txt

$suffix=\"tableA\"

how to manipulate the variab

相关标签:
3条回答
  • 2020-12-31 01:46

    Here's one way. Variables in a double-quoted here-string get substituted automatically. Just be sure your input file conforms to the PS rules for here-strings.

     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
    
    0 讨论(0)
  • 2020-12-31 02:05
    $a=get-content a.txt
    $suffix="tableA"
    
    $ExecutionContext.InvokeCommand.ExpandString($a)
    
    0 讨论(0)
  • 2020-12-31 02:08

    Invoke-Expression is the equivalent.

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

    See http://technet.microsoft.com/en-us/library/ee176880.aspx for more information.

    0 讨论(0)
提交回复
热议问题