2

これは、PS コマンド プロンプトから正常に実行されます。

Get-WmiObject Win32_Share -computer "Server" -filter "Name = 'ShareName'"

Ruby に追加すると、これを実行できます (引用符が必要ないため)。

powershell (Get-WmiObject Win32_Share -computer "Server")

ただし、フィルター引数を使用しない (引用符が必要):

powershell (Get-WmiObject Win32_Share -computer "Server" **-filter "Name = 'ShareName'"**)

エラーの出力には、二重引用符が表示されません。彼らから逃れるために知っていることはすべて試しましたが、何もうまくいきませんでした。

一重引用符の代わりに試して(... -filter \"Name = 'ShareName'\")
みました%x{}``

4

1 に答える 1

0

$HelloWorldPowerShell では、文字列 "Hello world" を含むオブジェクトなど、二重引用符文字列の間の値が解釈されます。Powershell は、それが処理$HelloWorldするのと同じ方法で処理します"$helloWorld"。ただし、入力'$HelloWorld'すると文字どおりに解釈され、オブジェクト名 $HelloWorld が文字列として出力されます。

PS> $HelloWorld = "Hello World"
PS> $helloworld
Hello World
PS> "$helloworld"
Hello World
PS> '$helloworld'
$helloworld

このようなことを試してください...

PS> "'$helloworld'"
'Hello World'
于 2013-02-05T21:57:26.357 に答える