我有一系列名称中带方括号的目录。出于某些莫名其妙的原因,Test-Path
命令在针对这些目录运行时返回$false
,但如果我对名称中没有方括号的目录运行相同的命令,则返回$true
。
目录如下所示:
[s]4343224D
[s]50AF43AF
我正在运行的命令是:
Test-Path [s]50AF43AF
我也尝试过:
Test-Path `[s`]50AF43AF
但这也会返回$ false。
有没有人知道如果确实存在该名称的目录,可能会让Test-Path
返回true?
答案 0 :(得分:2)
您可以使用-LiteralPath
参数:
Test-Path -LiteralPath '[s]50AF43AF'
如果您正在处理多条路径,那么添加反引号可能是更好的选择:
'[s]4343224D','[s]50AF43AF' | ForEach-Object { Test-Path -LiteralPath $_ }
答案 1 :(得分:1)
这似乎有效:
Test-Path '`[s`]50AF43AF'