📌  相关文章
📜  powershell 检查文件夹是否存在 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:03:51.436000             🧑  作者: Mango

Powershell 检查文件夹是否存在

在编写 Powershell 脚本时,经常需要检查某个文件夹是否存在。本文将介绍如何使用 Powershell 检查文件夹是否存在。

使用 Test-Path 命令

在 Powershell 中,可以使用 Test-Path 命令来测试文件或文件夹是否存在。以下是 Test-Path 命令的基本使用方式:

Test-Path -Path "C:\Users\Username\Documents"

该命令会返回一个布尔值,如果路径存在则返回 $true,否则返回 $false。

如果需要测试多个路径,则可以将它们列在一个字符串数组中,并使用 ForEach-Object 命令循环遍历。例如:

$paths = @("C:\Users\Username\Documents", "C:\Users\Username\Pictures")
$paths | ForEach-Object {
    if (Test-Path -Path $_) {
        Write-Host "$_ exists."
    } else {
        Write-Host "$_ does not exist."
    }
}

以上代码会依次检查两个路径是否存在,并输出相应的信息。

使用 Get-ChildItem 命令

另一种检查文件夹是否存在的方法是使用 Get-ChildItem 命令。该命令用于获取指定文件夹内的文件和子文件夹的列表。如果文件夹不存在,则该命令将返回一个错误。

因此,可以使用以下代码来检查文件夹是否存在:

Get-ChildItem -Path "C:\Users\Username\Documents" -Directory -ErrorAction SilentlyContinue | Out-Null
if ($?) {
    Write-Host "Folder exists."
} else {
    Write-Host "Folder does not exist."
}

以上代码将尝试获取指定文件夹内的子文件夹列表。如果文件夹不存在,则假定该命令在 $Error 变量中生成了一个错误。为了防止该错误打印到控制台上,我们使用了 "-ErrorAction SilentlyContinue" 参数。然后我们将成功状态赋值给 $? 变量。如果 $? 为 $true,则文件夹存在。

总结

使用 Powershell 检查文件夹是否存在非常简单。我们可以使用 Test-Path 命令或 Get-ChildItem 命令来完成这项任务。无论使用哪种方法,都需要记住在检查文件夹是否存在时要考虑到错误处理。