【发布时间】:2021-12-10 18:30:30
【问题描述】:
有什么方法可以在 csv 文件的最后一列中写入文本?没有“”
if ($inputID -eq $entry.HostName){
"$inputID Ok!"
}
else{
"$inputID doesn't exist in database!"
$title = 'Collector _ HostName'
$question = 'Add new ID in csv database?'
$choices = '&Yes', '&No'
$decision = $Host.UI.PromptForChoice($title, $question, $choices, 1)
if ($decision -eq 0) {
Write-Host 'confirmed'
$ID = Read-Host -Prompt "TypeID"
$IP = Read-Host -Prompt "TypeIP"
$wrapper = New-Object PSObject -Property @{ HostName = $ID; IP = $IP }
Export-Csv -Append -InputObject $wrapper -Path ".\test.csv" -NoTypeInformation -Force
$dbTrimmer = Get-Content -Path ".\test.csv"
$dbTrimmer.Replace('","',",").TrimStart('"').TrimEnd('"') | Out-File ".\test.csv" -Force -Confirm:$false
Exit
}
else{
Write-Host 'No'
Exit
}
}
csv 是这样的
ID,IP
ABC,10.10.10.10
此时我的脚本可以在 csv 中写入,但会删除 csv 中的旧信息
"FirstColumn","SecondColumn"
"ABCD","10.10.10.10"
谢谢
【问题讨论】:
-
看看 Export-Csv
-
哪个 PowerShell 版本? (请添加到问题中)。基本上:
Export-Csv -QuoteFields "FirstColumn" -InputObject $wrapper -Path C:\users\me\Desktop\test.csv -
虽然简单地删除 csv 中的 all 引号 MAY 对该文件有效,但它可以/肯定会破坏其他 csv 文件的对齐方式呈现它们无法使用。请阅读我的答案以安全地执行此操作。
标签: database powershell csv