Validation 是否有用于验证文件名和路径名的类型加速器?

Validation 是否有用于验证文件名和路径名的类型加速器?,validation,powershell,Validation,Powershell,我知道有一种简便的方法可以在Powershell中验证iPadress: [ipaddress]“12.12.12.12” [ipaddress]“12.12.12.812”抛出错误。 您知道是否有类似的方法来验证文件名和路径名吗? e、 g [path]“c:\temp\t?est.txt”抛出错误 您可以使用测试路径cmdlet: Test-Path "c:\temp\t?est.txt" -IsValid 从帮助: PS> help test-path -param isva

我知道有一种简便的方法可以在Powershell中验证iPadress:


[ipaddress]“12.12.12.12”

[ipaddress]“12.12.12.812”抛出错误。

您知道是否有类似的方法来验证文件名和路径名吗? e、 g


[path]“c:\temp\t?est.txt”抛出错误

您可以使用
测试路径
cmdlet:

Test-Path "c:\temp\t?est.txt" -IsValid
从帮助:

PS> help test-path -param isvalid

-IsValid [<SwitchParameter>]
    Determines whether the syntax of the path is correct, regardless of whether the elements of the path exist. This
    parameter returns TRUE if the path syntax is valid and FALSE if it is not.

    Required?                    false
    Position?                    named
    Default value                False
    Accept pipeline input?       false
    Accept wildcard characters?  false
PS>帮助测试路径-参数有效
-有效[]
确定路径的语法是否正确,而不管路径的元素是否存在。这
如果路径语法有效,则参数返回TRUE;如果路径语法无效,则返回FALSE。
必修的?假的
位置?命名
默认值False
接受管道输入?假的
是否接受通配符?假的

查看该描述似乎无法告诉您该文件或路径是否确实存在。它只是在对参数进行语法检查。-没关系。这正是人们所要求的。没错,但ipaddress也有同样的功能,它不会告诉你ip是否存在,它只是验证它。我们可以发出第二个调用来验证它的存在,或者如果我没有在OP下发出,则可以发出第二个调用。是的,我只是想验证一个参数:[ValidateScript({Test Path$\ IsValid})][string]$logfilepath对我有效。谢谢你,谢伊!只是一直在谷歌上搜索,发现了一个带有:[Parameter()][System.IO.FileInfo]$OutputFile的脚本。你认为这是相同的测试路径吗?赞成还是反对?这不一样,在我的系统上没有x驱动器,[system.IO.FileInfo]“x:\foo”可以工作。测试路径x:\foo.txt-IsValid返回false。