检查 PowerShell 中是否存在文件夹
-
在 PowerShell 中使用
Test-Path
Cmdlet 检查是否存在文件夹 -
在 PowerShell 中使用
System.IO.Directory
检查是否存在文件夹 -
在 PowerShell 中使用
Get-Item
Cmdlet 检查是否存在文件夹
PowerShell 是一个强大的工具,可以执行不同的文件和文件夹操作。它允许你创建、复制、移动、重命名、删除和查看系统上的文件和文件夹。
文件和文件夹管理是 PowerShell 中可用的有用功能之一;你还可以检查系统上是否存在文件或文件夹。
本教程将介绍使用 PowerShell 检查系统上是否存在文件夹的不同方法。
在 PowerShell 中使用 Test-Path
Cmdlet 检查是否存在文件夹
Test-Path
cmdlet 确定所有路径元素是否存在于 PowerShell 中。它返回一个布尔值,如果所有元素都存在,则返回 True
,如果缺少任何元素,则返回 False
。
例如,以下命令检查路径 C:\New\complex
的所有元素是否存在。
Test-Path -Path "C:\New\complex"
输出:
True
这意味着 complex
文件夹存在于 C:\New
目录中。
该命令检查 C:\New
目录中是否存在 Documents
文件夹。
Test-Path -Path "C:\New\Documents"
输出:
False
因此,Documents
文件夹不存在于 C:\New
目录中。
如果你想返回详细信息而不是 True/False,你可以像这样使用 if
语句。
if (Test-Path -Path "C:\New\Documents"){
Write-Host "The given folder exists."
}
else {
Write-Host "The given folder does not exist."
}
输出:
The given folder does not exist.
在 PowerShell 中使用 System.IO.Directory
检查是否存在文件夹
.NET
框架中的 System.IO.Directory
类提供了用于创建、移动、删除和枚举目录和子目录的静态方法。你可以使用它的 Exists()
方法来确定指定的路径是否引用系统上的现有目录。
如果路径存在,则返回 True
,如果不存在,则返回 False
。
[System.IO.Directory]::Exists("C:\New\complex")
输出:
True
现在,让我们检查一下 C:\New
目录中是否存在 Documents
文件夹。
[System.IO.Directory]::Exists("C:\New\Documents")
输出:
False
在 PowerShell 中使用 Get-Item
Cmdlet 检查是否存在文件夹
Get-Item
cmdlet 在给定路径获取项目。
如果路径存在于系统中,它会打印目录的 Mode
、LastWriteTime
、Length
和 Name
。
Get-Item C:\New\complex
输出:
Directory: C:\New
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 1/11/2022 10:12 PM complex
如果指定的路径不存在,你将收到一条错误消息,指出它不存在。
Get-Item C:\New\Documents
输出:
Get-Item : Cannot find path 'C:\New\Documents' because it does not exist.
At line:1 char:1
+ Get-Item C:\New\Documents
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\New\Documents:String) [Get-Item], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand
你也可以使用上述方法检查系统上是否存在文件。我们希望本文能让你了解检查 PowerShell 中是否存在文件夹。