从 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 从 SQL Server 2008 R2 导出到固定宽度的文本文件