gpt4 book ai didi

powershell - 管道foreach循环CSV PowerShell

转载 作者:行者123 更新时间:2023-12-03 00:38:51 25 4
gpt4 key购买 nike

我已经编写了脚本,但是无法以任何方式将其导出为CSV或输出。

PowerShell不喜欢foreach循环和导出。

对于.txt文件中的每个“文件夹路径/文件名”,它都会检查文件是否仍然存在,并输出true或false +文件夹路径/文件名。

脚本工作正常,只是无法将内容导出到CSV。

有什么想法我做错了吗?

foreach ($WantFile in Get-Content "C:\scripts\folderpaths.txt") {
$FileExists = Test-Path $WantFile

if ($FileExists -eq $True) {
Write-Output $wantfile "True"
} else {
Write-Output $wantfile "False"
}
} | Export-Csv C:\scripts\output.csv -noType

最佳答案

将代码更改为此:

Get-Content 'C:\scripts\folderpaths.txt' | % {
if (Test-Path -LiteralPath $_) {
Write-Output $_ "True"
} else {
Write-Output $_ "False"
}
} | Export-Csv 'C:\scripts\output.csv' -NoType

我怀疑生成的文件将包含您期望的内容。 Export-Csv导出对象的属性。您生成的输出是字符串对象(实际上是2个,每个 Write-Output语句2个),它们的唯一属性是 Length,因此您的结果将是一列,其中包含您要回显的字符串的长度。

要创建包含2列的CSV,一列用于路径,另一列用于路径的存在,您需要创建具有所需属性的对象,例如像这样:
Get-Content 'C:\scripts\folderpaths.txt' `
| select @{n='Path';e={$_}}, @{n='Exists';e={Test-Path -LiteralPath $_}} `
| Export-Csv 'C:\scripts\output.csv' -NoType

关于powershell - 管道foreach循环CSV PowerShell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20275871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com