【发布时间】:2020-12-19 15:30:50
【问题描述】:
如何使用 Test-Path(或任何其他函数)来测试文件夹是否存在 - 忽略任何尾随文件名?
我需要这个来测试目标文件夹是否存在,以便将输出文件写入其中。我的脚本接受“C:\Temp\myexport.csv”之类的“完整路径”参数,我只需要知道 C:\Temp 存在即可能够创建文件。
谢谢
【问题讨论】:
标签: powershell
如何使用 Test-Path(或任何其他函数)来测试文件夹是否存在 - 忽略任何尾随文件名?
我需要这个来测试目标文件夹是否存在,以便将输出文件写入其中。我的脚本接受“C:\Temp\myexport.csv”之类的“完整路径”参数,我只需要知道 C:\Temp 存在即可能够创建文件。
谢谢
【问题讨论】:
标签: powershell
试试这个:
$OutFile = "C:\Temp\myexport.csv"
$Dir=[System.IO.Path]::GetDirectoryName($OutFile)
if(!(Test-Path $Dir)) {
Write-Host "Invalid path"
}
【讨论】:
没关系..我 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." } } 继续。