PowerShell test-path命令

PowerShell test-path命令

如果文件或目录路径的所有元素都存在,则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.txt2020-02-01创建或最后一次修改。-olderThan参数仅与文件系统一起使用。


目录