2012-02-29 10 views
1

[default] .xmlという名前のc:\ tempディレクトリにファイルがあります。 PowerShellコンソールでget-childitem "c:\ temp` [default] .xml"コマンドを発行すると、何も返されません。しかし、私がこのコマンドを発行した場合:get-childitem "c:\ temp * default" .xml "、それは期待どおりに動作します。PowerShell get-childitemは、エスケープ文字でも[文字で始まるファイル名を処理できません。

なぜ[[]のエスケープ文字は機能していませんか?

答えて

2

取得・ヘルプを参照してくださいabout_wildcards

[]演算子を "グロブ" のワイルドカードです。ファイル仕様のワイルドカードを無効にするには-LiteralPathスイッチを使用し、それらの文字を持つファイルでGet-ChildItemコマンドレットを使用するには:

また
get-childitem -literalpath "c:\temp[default].xml" 

、通常のワイルドカードはまだdirectoryinfoオブジェクトの.getfiles()メソッドで動作します。

(get-item c:\).getfiles("temp[default].*") 
+0

偉大な応答を。ありがとうございました! – jhy

1

あなたは古いTechnet Windows PowerShell Tip of the WeekでMicrosoftの公式回答を得ました。

あなたは使用することができます。

Get-ChildItem 'c:\temp\``[default``].xml' 
+0

あなたの提案もうまくいきます。リンクありがとう! – jhy

関連する問題