Passing empty arguments to executables using powershell

后端 未结 3 726
逝去的感伤
逝去的感伤 2021-01-04 04:13

Powershell seems to drop empty string arguments when passed to a command. I have this code

PS D:\\> $b.name = \"foo bar\"
PS D:\\> ./echoargs $b.name
A         


        
相关标签:
3条回答
  • 2021-01-04 04:38

    This should also work:

    ./echoargs [String]::Empty
    
    0 讨论(0)
  • 2021-01-04 04:41

    If you want an empty string to appear try escaped quotes around the argument like so:

    PS> $b = [psobject]@{name = ''}
    PS> echoargs `"$($b.Name)`"
    Arg 0 is <>
    
    Command line:
    "C:\Users\Keith\Pscx\Trunk\Src\Pscx\bin\Release\Apps\EchoArgs.exe"  ""
    

    Note that I tested this on V3 so I'm not sure if the behavior will be exactly the same on V2.

    0 讨论(0)
  • 2021-01-04 04:52

    Try to pass an empty single quote string enclosed in double quotes, or vice versa.

    ./echoargs $b.name, "''"
    

    or

    ./echoargs $b.name, '""'
    
    0 讨论(0)
提交回复
热议问题