Powershell 在foreach循环中更新CSV文件
我在PowerShell中有一个Powershell 在foreach循环中更新CSV文件,powershell,csv,variables,foreach,Powershell,Csv,Variables,Foreach,我在PowerShell中有一个foreach循环。它通过一些用户基于CSV文件移动数据来运行。 我想更新已运行的每一行的CSV文件,因此CSV如下所示: Username;OldData;NewData;Status User1;c:\Old;c:\new;Waiting User2;d:\Old;D:\New;Waiting 在User2完成后,再次将其更新为: Username;OldData;NewData;Status User1;c:\Old;c:\new;Done User
foreach
循环。它通过一些用户基于CSV文件移动数据来运行。
我想更新已运行的每一行的CSV文件,因此CSV如下所示:
Username;OldData;NewData;Status
User1;c:\Old;c:\new;Waiting
User2;d:\Old;D:\New;Waiting
在User2完成后,再次将其更新为:
Username;OldData;NewData;Status
User1;c:\Old;c:\new;Done
User2;d:\Old;D:\New;Done
然后运行foreach
(伪代码)
在以下提示之后,将更改的$Table保存为
$Table | Export-Csv C:\csv.csv -NoTypeInformation
为避免在连续运行中多次处理同一行,请排除状态为“已完成”的行
## Q:\Test\2019\06\07\SO_56495983.ps1
$File = '.\csv.csv' # 'c:\csv.csv' #
$Table = Import-Csv $File -Delimiter ';'
foreach ($Row in ($Table|Where Status -eq 'Waiting')) {
#Copy-Content $row.OldData $row.NewData
$row.Status = "Done"
}
$Table
$Table | Export-Csv $File -Delimiter ';' -NoTypeInformation
在以下提示之后,将更改的$Table保存为
$Table | Export-Csv C:\csv.csv -NoTypeInformation
为避免在连续运行中多次处理同一行,请排除状态为“已完成”的行
## Q:\Test\2019\06\07\SO_56495983.ps1
$File = '.\csv.csv' # 'c:\csv.csv' #
$Table = Import-Csv $File -Delimiter ';'
foreach ($Row in ($Table|Where Status -eq 'Waiting')) {
#Copy-Content $row.OldData $row.NewData
$row.Status = "Done"
}
$Table
$Table | Export-Csv $File -Delimiter ';' -NoTypeInformation
删除
Update Csv
。删除Update Csv
。这样它就不会打乱循环以更改它正在运行的活动表执行´$row.Status=“Done”´时,我忽略了缺少的-Delimiter';'代码>。现在应该可以正常工作了。这样就不会因为更改它正在运行的活动表而打乱循环了?-执行´$row.Status=“Done”´时,我忽略了缺少的-Delimiter';'代码>。现在应该可以正常工作了。
## Q:\Test\2019\06\07\SO_56495983.ps1
$File = '.\csv.csv' # 'c:\csv.csv' #
$Table = Import-Csv $File -Delimiter ';'
foreach ($Row in ($Table|Where Status -eq 'Waiting')) {
#Copy-Content $row.OldData $row.NewData
$row.Status = "Done"
}
$Table
$Table | Export-Csv $File -Delimiter ';' -NoTypeInformation