[玩转系统] Test-Path (Microsoft.PowerShell.Management)
作者:精品下载站 日期:2024-12-14 02:09:54 浏览:15 分类:玩电脑
Test-Path (Microsoft.PowerShell.Management)
Test-Path
模块 :Microsoft.PowerShell.Management确定路径的所有元素是否存在。
句法
Test-Path
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PathType <TestPathType>]
[-IsValid]
[-Credential <PSCredential>]
[-OlderThan <DateTime>]
[-NewerThan <DateTime>]
[<CommonParameters>]
Test-Path
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PathType <TestPathType>]
[-IsValid]
[-Credential <PSCredential>]
[-OlderThan <DateTime>]
[-NewerThan <DateTime>]
[<CommonParameters>]
Test-Path
[-Path] <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-PathType <TestPathType>]
[-IsValid]
[-Credential <pscredential>]
[<CommonParameters>]
Test-Path
-LiteralPath <string[]>
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-PathType <TestPathType>]
[-IsValid]
[-Credential <pscredential>]
[<CommonParameters>]
描述
Test-Path
cmdlet 确定路径的所有元素是否存在。如果所有元素都存在,则返回 $true
;如果缺少任何元素,则返回 $false
。它还可以判断路径语法是否有效以及路径是否通向容器、终端或叶元素。如果路径是空格或空字符串,则 cmdlet 返回$false
。如果 Path 为 $null
、$null
数组或空数组,则 cmdlet 将返回非终止错误。
示例
示例 1:测试路径
Test-Path -Path "C:\Documents and Settings\DavidC"
True
此命令检查路径中的所有元素是否存在,包括 C:
目录、Documents and Settings
目录和 DavidC
目录。如果缺少任何一个,cmdlet 将返回 $false
。否则,它返回$true
。
示例 2:测试配置文件的路径
Test-Path -Path $profile
False
Test-Path -Path $profile -IsValid
True
这些命令测试 PowerShell 配置文件的路径。
第一个命令确定路径中的所有元素是否存在。第二个命令确定路径的语法是否正确。在本例中,路径为 $false
,但语法是正确的 $true
。这些命令使用 $profile
,这是指向配置文件位置的自动变量,即使配置文件不存在也是如此。
有关自动变量的更多信息,请参阅 about_Automatic_Variables。
示例3:检查是否存在除指定类型之外的文件
Test-Path -Path "C:\CAD\Commercial Buildings\*" -Exclude *.dwg
False
此命令检查 Commercial Buildings 目录中是否存在除 .dwg 文件之外的任何文件。
该命令使用Path参数来指定路径。由于路径包含空格,因此路径用引号引起来。路径末尾的星号表示 Commercial Building 目录的内容。对于长路径(例如此路径),请键入路径的前几个字母,然后使用 TAB 键完成路径。
该命令指定排除参数来指定要从评估中忽略的文件。
在本例中,由于该目录仅包含 .dwg 文件,因此结果为 $false
。
示例 4:检查文件
Test-Path -Path $profile -PathType leaf
True
此命令检查存储在 $profile
变量中的路径是否指向文件。在本例中,由于 PowerShell 配置文件是 .ps1
文件,因此 cmdlet 返回 $true
。
示例 5:检查注册表中的路径
这些命令将 Test-Path
与 PowerShell 注册表提供程序结合使用。
第一个命令测试系统上 Microsoft.PowerShell 注册表项的注册表路径是否正确。如果 PowerShell 安装正确,cmdlet 将返回 $true
。
这很重要
Test-Path
无法与所有 PowerShell 提供程序一起正常工作。例如,您可以使用 Test-Path
来测试注册表项的路径,但如果使用它来测试注册表项的路径,它总是返回 $false
,即使注册表项存在。
Test-Path -Path "HKLM:\Software\Microsoft\PowerShell\ShellIds\Microsoft.PowerShell"
True
Test-Path -Path "HKLM:\Software\Microsoft\PowerShell\ShellIds\Microsoft.PowerShell\ExecutionPolicy"
False
示例 6:测试文件是否比指定日期新
此命令使用 NewerThan 动态参数来确定计算机上的 pwsh.exe
文件是否比 2009 年 7 月 13 日
更新。
NewerThan 参数仅适用于文件系统驱动器。
Test-Path $pshome\pwsh.exe -NewerThan "July 13, 2009"
True
示例 7:测试以 null 为值的路径
对于 null
、null
数组或空数组返回的错误是非终止错误。可以使用 -ErrorAction SilentlyContinue
来抑制它。以下示例显示返回 NullPathNotPermission
错误的所有情况。
Test-Path $null
Test-Path $null, $null
Test-Path @()
Test-Path : Cannot bind argument to parameter 'Path' because it is null.
At line:1 char:11
+ Test-Path $null
+ ~~~~~
+ CategoryInfo : InvalidData: (:) [Test-Path], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.TestPathCommand
示例 8:测试以空格为值的路径
当为 Path 参数提供空白字符串时,它将返回 $false
。这是对 Windows PowerShell 5.1 的更改。当提供空字符串时,Test-Path
返回错误。以下示例显示空格和空字符串。
Test-Path ' '
Test-Path ''
False
False
示例 9:测试可能具有无效驱动器的路径
当您测试包含驱动器规范的路径时,如果驱动器不存在,则测试路径的有效性将失败。您可以为驱动器添加提供程序名称前缀来解决此问题。
Test-Path -IsValid Z:\abc.txt
Test-Path -IsValid FileSystem::Z:\abc.txt
False
True
参数
-Credential
笔记
随 PowerShell 安装的任何提供程序均不支持此参数。要在运行此 cmdlet 时模拟其他用户或提升您的凭据,请使用 Invoke-Command。
类型 :PS凭证
位置:命名
默认值:None
必需的:False
接受管道输入:True
接受通配符:False
-Exclude
指定此 cmdlet 忽略的项目。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt
。允许使用通配符。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:True
-Filter
以提供者的格式或语言指定过滤器。此参数的值限定 Path 参数。过滤器的语法(包括通配符的使用)取决于提供程序。筛选器比其他参数更有效,因为提供程序在检索对象时应用它们,而不是让 PowerShell 在检索对象后筛选对象。
类型 :String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:True
-Include
指定此 cmdlet 测试的路径。此参数的值限定 Path 参数。输入路径元素或模式,例如 *.txt
。允许使用通配符。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:True
-IsValid
指示此 cmdlet 测试路径的语法,无论路径的元素是否存在。如果路径语法有效,则此 cmdlet 返回 $true
;如果无效,则返回 $false
。如果正在测试的路径包含驱动器规范,则当驱动器不存在时,cmdlet 将返回 false。 PowerShell 返回 false,因为它不知道要测试哪个驱动器提供程序。
笔记
.NET 2.1 中引入了 Path API 的重大更改。这些方法不再检查无效的路径字符。此更改导致 PowerShell 中的回归,其中 IsValid 检查不再测试无效字符。该回归问题将在未来的版本中得到解决。有关详细信息,请参阅 .NET Core 2.1 中的重大更改。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-LiteralPath
指定要测试的路径。与 Path 不同,LiteralPath 参数的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含可由 PowerShell 解释为转义序列的字符,则必须将路径用单引号引起来,以便它们不会被解释。
类型 :String[]
别名:PSPath, LP
位置:命名
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-NewerThan
这是由文件系统提供者提供的动态参数。
将时间指定为 DateTime 对象。
在 PowerShell 7.5 之前,cmdlet 会忽略:
- 当您将 PathType 指定为
Any
以外的任何值时,此参数。 - 与此参数一起使用时的 OlderThan 参数。
- 当Path指向目录时此参数。
从 PowerShell 7.5 开始,您可以将此参数与 PathType 参数的任何值结合使用,以使用 OlderThan 参数测试日期范围,并测试目录的期限。
有关详细信息,请参阅 about_FileSystem_Provider。
类型 :可空[[日期时间]]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-OlderThan
这是由文件系统提供者提供的动态参数。
将时间指定为 DateTime 对象。
在 PowerShell 7.5 之前,cmdlet 会忽略:
- 当您将 PathType 指定为
Any
以外的任何值时,此参数。 - 此参数与 NewerThan 参数一起使用。
- 当Path指向目录时此参数。
从 PowerShell 7.5 开始,您可以将此参数与 PathType 参数的任何值结合使用,以使用 NewerThan 参数测试日期范围,并测试目录的期限。
有关详细信息,请参阅 about_FileSystem_Provider。
类型 :可空[[日期时间]]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Path
指定要测试的路径。允许使用通配符。如果路径包含空格,请将其用引号引起来。
类型 :String[]
位置:0
默认值:None
必需的:True
接受管道输入:True
接受通配符:True
-PathType
指定路径中最后一个元素的类型。如果元素属于指定类型,则此 cmdlet 返回 $true
;如果不是,则返回 $false
。该参数可接受的值为:
Container
- 包含其他元素的元素,例如目录或注册表项。Leaf
- 不包含其他元素的元素,例如文件。任何
- 容器或叶子。
告知路径中的最后一个元素是否属于特定类型。
警告
截至 PowerShell 版本 6.1.2,当同时指定 IsValid 和 PathType 开关时,Test-Path
cmdlet 会忽略 PathType 开关,仅验证语法路径而不验证路径类型。
根据问题 #8607,修复此行为可能是未来版本中的重大更改,其中 IsValid 和 PathType 开关属于单独的参数集,因此可以'不要一起使用以避免这种混乱。
类型 :测试路径类型
别名:Type
接受的值:任意、容器、叶子
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
输入
字符串
您可以通过管道将包含路径(但不是文字路径)的字符串传递到此 cmdlet。
输出
布尔值
该 cmdlet 返回一个布尔值。
笔记
包含 Path 名词的 cmdlet(Path cmdlet)使用路径并以所有 PowerShell 提供程序都可以解释的简洁格式返回名称。它们设计用于您想要以特定格式显示全部或部分路径的程序和脚本。像使用 Dirname、Normpath、Realpath、Join 或其他路径操纵器一样使用它们。
测试路径
旨在处理任何提供者公开的数据。要列出会话中可用的提供程序,请输入 Get-PSProvider
。有关详细信息,请参阅 about_Providers。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag