当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在 PowerShell 中检查文件夹是否存在

作者:精品下载站 日期:2024-12-14 03:39:37 浏览:13 分类:玩电脑

如何在 PowerShell 中检查文件夹是否存在


在将文件存储在文件夹中或尝试从文件夹中读取文件之前,最好检查 PowerShell 中是否存在该文件夹。这样,您就可以防止任何可能导致脚本停止的错误。

为此,我们可以使用 Test-Path cmdlet。此 cmdlet 将根据结果返回 TrueFalse,以便您可以在脚本中轻松使用它。

在本文中,我将向您展示如何使用 Test-Path cmdlet 检查文件夹是否存在。

检查文件夹是否存在

检查 PowerShell 中是否存在目录的最简单方法是使用 Test-Path cmdlet。该 cmdlet 返回一个布尔值,我们可以在 if-else 语句中使用它。

如果直接在控制台中运行 cmdlet,您将看到它将仅返回 True 或 False 作为字符串:

Test-Path -Path "c:\temp\random-file.txt"

[玩转系统] 如何在 PowerShell 中检查文件夹是否存在

一个更实际的示例是在创建新文件夹之前检查文件夹是否已存在。一个简单的方法是使用 if-else 语句。对于文件夹路径,路径末尾是否有 \ 并不重要,但可以使用。

请记住,当路径包含空格时,请将路径放在引号之间。就我个人而言,我总是在路径周围使用引号,这样更容易阅读并防止出现任何错误:

if (Test-Path -path "c:\temp") {
    # Folder exists
}else{
    # Folder doesn't exists
}

如果您只需要知道路径是否不存在,那么我们还可以在 -not 运算符的帮助下使用简短的 if 语句。这样,当目录不存在时,我们只运行 if 语句中的代码:

$folder = "C:\temp"

if (-not(Test-Path -path $folder)) {
    # Folder doesn't exists, create the folder
    New-Item -Path $folder -ItemType Directory
}

检查路径是否有效

除了检查目录是否存在之外,我们还可以检查路径是否有效。这并不意味着路径(文件夹)实际存在,但它检查给定的字符串是否是有效的路径。

我们通常在创建新文件夹或文件夹结构之前使用它。 New-Item cmdlet 实际上可以创建多个级别的所有文件夹。在下面的示例中,我们检查该文件夹是否不存在,以及给定的路径是否有效。如果两者都为真,那么我们创建文件夹结构:

$folderStructure = "c:\temp\lab\test\"

if (-not(Test-Path $folderStructure) -and (Test-Path $folderStructure -IsValid)) {
    New-Item -path "c:\temp\lab\test\" -ItemType Directory
}

[玩转系统] 如何在 PowerShell 中检查文件夹是否存在

总结

在尝试使用文件夹或目录之前检查它是否存在可以防止 PowerShell 脚本中出现许多错误。 Test-Path cmdlet 易于使用,可确保您不会尝试访问不存在的文件夹或创建重复的文件夹。

希望您喜欢这篇文章,如果您有任何疑问,请在下面发表评论。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯