我在c:\ temp目录中有一个名为[default] .xml的文件。 当我在powershell控制台中发出命令:get-childitem“c:\ temp` [default] .xml”时,它什么都不返回。但是,如果我发出以下命令:get-childitem“c:\ temp * default] .xml”,它按预期工作。
为什么在'['不起作用时逃避字符?
答案 0 :(得分:2)
请参阅get-help about_wildcards
[]是通配符“globbing”运算符。要对包含这些字符的文件使用get-childitem,请使用-literalpath开关禁用文件规范的通配符:
get-childitem -literalpath "c:\temp[default].xml"
或者,正常的通配符仍然可以在directoryinfo对象的.getfiles()方法中使用:
(get-item c:\).getfiles("temp[default].*")
答案 1 :(得分:1)
您已经在旧Technet Windows PowerShell Tip of the Week中获得了Microsoft官方回答。
您可以使用:
Get-ChildItem 'c:\temp\``[default``].xml'