2012-04-24 28 views
7

kullanarak boş argümanların çalıştırılabilir duruma getirilmesi Powershell, bir komut verildiğinde boş dize argümanlarını bırakıyor gibi görünüyor. Bu kod bende bir 'ad' üyesine sahip olduğunu varsayabilirsiniz. Değeri boş bir dize olsa bile, bunu exe'ye argüman olarak nasıl iletebilirim. Çağrı operatörünü hiç başarıya ulaşmadan kullanmayı denedim.Powershell

cevap

7

deneyin şöyle argüman etrafında tırnak kaçtı Davranışın V2'de tam olarak aynı olup olmayacağından emin değilsiniz.

5

Çift tırnak içine alınmış boş bir tek tırnak dizgisini geçmeye çalışın veya tersini yapın. Ben bu yüzden ediyorum V3 bu test

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

Not: Eğer boş bir dize görünmesini istiyorsanız

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

veya

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

Her iki yöntemi de PS v5'te test ettim ve birincisi çalışmadı, ancak ikincisi şunları yaptı: './echoargs $ b.name, '' '''. Benim durumumda parametreler arasındaki virgül gerekli görünmedi. – hjoelr