如果文件或目录路径的所有元素都存在,则PowerShell中的Test-Path
cmdlet返回$true
,否则返回$false
。 它还可以判断文件是在特定日期之后还是之前更新的。它确定路径的语法是否有效。
语法1
Test-Path [-Credential <PSCredential>] [-Exclude <String[]>] [-Filter <String>] [-Include <String[]>] [-IsValid] -LiteralPath <String[]> [-NewerThan <DateTime>] [-OlderThan <DateTime>] [-PathType {Any | Container | Leaf}] [-UseTransaction] [<CommonParameters>]
语法2
Test-Path [-Path] <String[]> [-Credential <PSCredential>] [-Exclude <String[]>] [-Filter <String>] [-Include <String[]>] [-IsValid] [-NewerThan <DateTime>] [-OlderThan <DateTime>] [-PathType {Any | Container | Leaf}] [-UseTransaction] [<CommonParameters> ]
语法3
Test-Path [-NewerThan <DateTime>] [-OlderThan <DateTime>] [<CommonParameters>]
以下是Test-Path cmdlet中使用的参数:
-Exclude - 此参数用于指定此cmdlet忽略的那些项目,此参数接受通配符。
-Path - 此参数用于指定要测试的路径。如果使用包含空格的路径,请用引号将其引起来。此参数接受通配符。
-Filter - 此参数用于以提供者的格式或语言指定过滤器。
-Include - 此参数用于指定此cmdlet测试的路径。此参数接受通配符。
-IsValid - 此参数用于测试路径的语法,而不是检查路径的元素。在cmdlet中使用此参数时,如果路径的语法有效,则cmdlet返回$True
,否则返回$False
。
-LiteralPath - 此参数用于指定要测试的路径。与-Path
参数不同,此参数的值将按键入时的原样使用。
-NewerThan - 此参数用于将时间指定为DateTime
的对象。
-OlderThan - 此参数还用于将时间指定为DateTime
的对象。
-PathType - 此参数用于确定路径中指定的最终元素的类型。在cmdlet中使用此参数时,如果元素属于指定类型,则返回$True
,否则返回$False
。对于此参数,以下是可接受的值:
Leaf
:它是一个元素或不包含其他元素的值。Container
:它是一个元素或包含其他元素的值,例如注册表项或目录。Any
:这是一个元素,可以是叶子或容器。示例1:检查文件系统中的路径。
本示例中的命令检查文件系统路径中的所有元素是否存在。 如果路径中缺少任何元素,则命令返回False
,否则返回True
。 在此示例中,路径中的所有元素都是正确的,因此它返回True
。
示例2: 检查注册表项中的路径
在此示例中,该命令检查Microsoft.PowerShell注册表项的路径是否正确。 如果正确,则命令返回True
,否则返回False
。
示例3: 测试文件早于指定日期
PS E:\xntutor.com\powershell> Test-path "newfile.txt" -olderthan "2020-01-31" False PS E:\xntutor.com\powershell> Test-path "newfile.txt" -olderthan "2020-02-10" True
本示例中的两个命令都使用-olderThan
参数来检查newfile.txt
文件是否早于指定日期。
第一条命令返回False
,第二条命令返回True
,因为文件:newfile.txt 在2020-02-01
创建或最后一次修改。-olderThan
参数仅与文件系统一起使用。