【问题标题】:PowerShell - Test-Path ignoring file namePowerShell - 测试路径忽略文件名
【发布时间】:2020-12-19 15:30:50
【问题描述】:

如何使用 Test-Path(或任何其他函数)来测试文件夹是否存在 - 忽略任何尾随文件名?

我需要这个来测试目标文件夹是否存在,以便将输出文件写入其中。我的脚本接受“C:\Temp\myexport.csv”之类的“完整路径”参数,我只需要知道 C:\Temp 存在即可能够创建文件。

谢谢

【问题讨论】:

    标签: powershell


    【解决方案1】:

    试试这个:

    $OutFile = "C:\Temp\myexport.csv"
    $Dir=[System.IO.Path]::GetDirectoryName($OutFile)
    
    if(!(Test-Path $Dir)) { 
        Write-Host "Invalid path" 
    }
    

    【讨论】:

      【解决方案2】:

      没关系..我 Google 搜索的力度不够:

      $OutFile = "C:\Temp\myexport.csv"
      if(!Test-Path -Path (Split-Path -Path $OutFile)) { 
          Write-Host "Invalid path" 
      }
      

      【讨论】:

      • 您可以使用If(!(Test-Path -Path (Split-Path -Path $OutFile -Parent))) { Throw "$(Split-Path -Path $OutFile -Parent) does not exist." } 作为替代方案,甚至可以使用Else { If(Test-Path -Path $OutFile) { Throw "$OutFile already exists." } } 继续。
      猜你喜欢
      • 1970-01-01
      • 2022-11-11
      • 2015-09-05
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      相关资源
      最近更新 更多