从 Powershell 将不存在的文件路径导出到文本文件

Posted

技术标签:

【中文标题】从 Powershell 将不存在的文件路径导出到文本文件【英文标题】:Export non-existent file paths to text file from Powershell 【发布时间】:2022-01-23 02:51:06 【问题描述】:

尝试通过 powershell 和包含假定目录的 CSV 文件来定位存在或不存在的目录。我们可以让它在控制台中运行并显示,但它不会将结果导出到 txt 文件中。它创建文件,但它是空的。任何帮助都是有用的!

Import-Csv .\missingpaths.csv | ForEach If (Test-Path -Path $_.Path) Write-Output"$($_.Path) exists"  Else Write-Output "$($_.Path) does NOT exist" $_.File | Out-File .\MissingCSV.csv -Append 

【问题讨论】:

如果将它附加到 .txt 会发生什么?只能想象问题出在 上。 csv;可能必须使用convertto-csv,或使用pscustomobject 现在它只被编码来附加不存在的路径。这是你想要的吗? 【参考方案1】:

您代码上的Out-File 仅在else 语句上(格式化和缩进很重要的原因之一是因为它可以帮助您防止这些问题),除非这是故意的并且您只想导出这些存在的路径。

 Else 
    Write-Output "$($_.Path) does NOT exist" $_.File |
    Out-File .\MissingCSV.csv -Append

试试这个:

Import-Csv .\missingpaths.csv | ForEach-Object 
    [pscustomobject]@
        Path = $_.Path
        TestPath = ('Does not Exist', 'Exist')[(Test-Path $_.Path)]
    
 | Export-Csv path/to/result.csv -NoTypeInformation

【讨论】:

成功了!非常感谢!

以上是关于从 Powershell 将不存在的文件路径导出到文本文件的主要内容,如果未能解决你的问题,请参考以下文章

powershell导出文件夹配额

使用 Powershell 从 SQL Server 2008 R2 导出到固定宽度的文本文件

通过 Powershell 在远程机器上更改 IIS 网站的物理路径

使用Powershell将大输出从Oracle导出到CSV

将不存在的记录插入Mysql表

使用 VBA 或 PowerShell 将所有 MS Access SQL 查询导出到文本文件