Powershell-读取、创建和操作csv文件
我试图写一个脚本,将创建和维护一个csv电子表格。它将按计划运行,如果没有找到任何.csv文件,它应该从头开始创建 我就是这样做的:Powershell-读取、创建和操作csv文件,powershell,csv,Powershell,Csv,我试图写一个脚本,将创建和维护一个csv电子表格。它将按计划运行,如果没有找到任何.csv文件,它应该从头开始创建 我就是这样做的: # === Paths $ipsFileLocation = "C:\stuff\ips.txt" $dbLocation = "C:\stuff\db.csv" # === Actual script starts here Write-Host "Importing the CSV File..." Try { $db = Import-Csv
# === Paths
$ipsFileLocation = "C:\stuff\ips.txt"
$dbLocation = "C:\stuff\db.csv"
# === Actual script starts here
Write-Host "Importing the CSV File..."
Try
{
$db = Import-Csv $dbLocation
}
Catch [System.IO.FileNotFoundException]
{
Write-Host "The database file is not found! Creating a new one..."
$db = @()
}
$ipList = get-content $ipsFileLocation
Update-Ips $db $ipList
Export-Csv -InputObject $db -Path $dbLocation -NoTypeInformation
# === Helper methods
function Update-Ips($db, $ips)
{
foreach ($ip in $ips)
{
$foundRow = $db | Where { $_.IP -eq $ip } #check if the particular ip exists in database
if ($foundRow -eq $null)
{
#no ip found in database -> Create new entry
$newRecord = "" | select IP,Host,Responds,LastLogon
$newRecord.IP = $ip
$db += $newRecord
}
}
}
txt文件只是一个包含IP地址的文本文件,每个IP地址位于一个新行中
脚本会运行,但是导出csv方法会给我留下一个.csv文件,如下所示:
“计数”、“长度”、“长长度”、“秩”、“同步根”、“IsReadOnly”、“IsFixedSize”、“IsSynchronized”
“0”、“0”、“0”、“1”、“System.Object[]”、“False”、“True”、“False”
和我想象的不太一样
另外,在结尾处,我希望$db对象如下所示:
相反,我得到的东西一点也不像桌子:
有人能告诉我我做错了吗?我想要的结果和运行脚本实际得到的结果有什么区别吗?您正在尝试将数组本身(
-InputObject$db
)导出到CSV。这就是为什么要获得数组的属性(计数等)
替换
Export-Csv -InputObject $db -Path $dbLocation -NoTypeInformation
与
您正在尝试将阵列本身(
-InputObject$db
)导出到CSV。这就是为什么要获得数组的属性(计数等)
替换
Export-Csv -InputObject $db -Path $dbLocation -NoTypeInformation
与
您正在尝试将阵列本身(
-InputObject$db
)导出到CSV。这就是为什么要获得数组的属性(计数等)
替换
Export-Csv -InputObject $db -Path $dbLocation -NoTypeInformation
与
您正在尝试将阵列本身(
-InputObject$db
)导出到CSV。这就是为什么要获得数组的属性(计数等)
替换
Export-Csv -InputObject $db -Path $dbLocation -NoTypeInformation
与
这就是整个剧本吗?我看到一个对$csv的引用,如果没有在其他地方填充,它将是空的。谢谢。现在已修复,但问题仍然存在,我的问题仍然存在。至于
$db
的输出是什么样子的,那只是列表视图还是表视图。除了您在控制台中看到它之外,它不会影响任何东西。这就是整个脚本吗?我看到一个对$csv的引用,如果没有在其他地方填充,它将是空的。谢谢。现在已修复,但问题仍然存在,我的问题仍然存在。至于$db
的输出是什么样子的,那只是列表视图还是表视图。除了您在控制台中看到它之外,它不会影响任何东西。这就是整个脚本吗?我看到一个对$csv的引用,如果没有在其他地方填充,它将是空的。谢谢。现在已修复,但问题仍然存在,我的问题仍然存在。至于$db
的输出是什么样子的,那只是列表视图还是表视图。除了您在控制台中看到它之外,它不会影响任何东西。这就是整个脚本吗?我看到一个对$csv的引用,如果没有在其他地方填充,它将是空的。谢谢。现在已修复,但问题仍然存在,我的问题仍然存在。至于$db
的输出是什么样子的,那只是列表视图还是表视图。除了您在控制台中看到它之外,它不会影响其他任何东西。