我想验证用户提供的字符串是否是文件或目录的路径。
$Path = 'some input string'
if (!(Test-Path -LiteralPath $Path)) {
Write-Error "${Path}: No such file or directory"
exit 1
}
问题是Test-Path
无法区分例如目录和注册表项......
我该怎么做?
我想验证用户提供的字符串是否是文件或目录的路径。
$Path = 'some input string'
if (!(Test-Path -LiteralPath $Path)) {
Write-Error "${Path}: No such file or directory"
exit 1
}
问题是Test-Path
无法区分例如目录和注册表项......
我该怎么做?
如果您不希望它解释通配符,则可以使用
Get-Item
,可能与 一起-LiteralPath
代替-Path
。根据输出,您可以确定:SilentlyContinue
为。Stop
.PSProvider
。FileSystem
,则可以通过查看属性来确定该路径是文件还是目录.PSIsContainer
。总之你可以这样做:
您可以使用它
Resolve-Path
来发现有关给定项目路径的提供程序信息: