在 Windows PowerShell 中检查一个文件是否存在
Rohan Timalsina
2023年1月30日
-
使用
Test-Path
检查 PowerShell 中是否存在文件 -
使用
[System.IO.File]::Exists()
检查文件是否存在于 PowerShell 中 -
使用
Get-Item
检查 PowerShell 中是否存在文件 -
使用
Get-ChildItem
检查 PowerShell 中是否存在文件
有时,你会收到一条错误消息,指出该文件在 PowerShell 中不存在。本教程将介绍四种方法来检查 PowerShell 中是否存在文件。
使用 Test-Path
检查 PowerShell 中是否存在文件
第一种方法是 Test-Path
cmdlet。它确定完整路径是否存在。如果路径存在则返回 $True
,如果缺少任何元素则返回 $False
。-PathType Leaf
参数检查文件而不是目录。
Test-Path -Path "C:/New/test.txt" -PathType Leaf
输出:
True
如果目录 New
中没有名为 file.txt
的文件,则返回 $False
。
Test-Path -Path "C:/New/file.txt" -PathType Leaf
输出:
False
使用 [System.IO.File]::Exists()
检查文件是否存在于 PowerShell 中
检查文件是否存在的另一种方法是 [System.IO.File]::Exists()
。它提供布尔结果,如果文件存在则为 True
,如果文件不存在则为 False
。
[System.IO.File]::Exists("C:/New/test.txt")
输出:
True
使用 Get-Item
检查 PowerShell 中是否存在文件
Get-Item
cmdlet 用于获取指定路径中的项目。你可以通过指定文件的路径来使用它来检查文件是否存在。它打印文件的模式(属性)、上次写入时间、长度和文件名(如果存在)。如果文件不存在,它会显示错误消息。
Get-Item C:/New/test.txt
输出:
Directory: C:\New
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/11/2021 2:59 PM 5 test.txt
以下是文件不存在时的输出。
Get-Item : Cannot find path 'C:\New\test10.txt' because it does not exist.
At line:1 char:1
+ Get-Item C:/test/test10.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\New\test10.txt:String) [Get-Item], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand
使用 Get-ChildItem
检查 PowerShell 中是否存在文件
最后一种方法是使用 Get-ChildItem
cmdlet。它获取一个或多个指定路径中的项目和子项目。如果文件存在于指定路径中,它将显示文件详细信息。
Get-ChildItem -Path C:/New/test.txt
输出:
Directory: C:\New
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/11/2021 2:59 PM 5 test.txt
它打印一条错误消息,说 Cannot find path '$path' because it does not exist.
。
Get-ChildItem -Path C:/New/test
输出:
Get-ChildItem : Cannot find path 'C:\New\test' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Path C:/New/test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\New\test:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
作者: Rohan Timalsina