У меня есть петля foreach
в PowerShell. Некоторые пользователи перемещают данные на основе файла CSV.
Я хотел бы обновить файл CSV для каждой строки, которая была запущена, поэтому CSV выглядит следующим образом:
Username;OldData;NewData;Status
User1;c:\Old;c:\new;Waiting
User2;d:\Old;D:\New;Waiting
Будет последней строкой в первом цикле foreach
(при условии, что данные были скопированы) изменить CSV на:
Username;OldData;NewData;Status
User1;c:\Old;c:\new;Done
User2;d:\Old;D:\New;Waiting
И снова после того, как User2 закончил, обновите его до:
Username;OldData;NewData;Status
User1;c:\Old;c:\new;Done
User2;d:\Old;D:\New;Done
Что я сейчас делаю, так это импортирую CSV с
$Table = Import-Csv c:\csv.csv
и затем выполните foreach
(псевдокод)
foreach ($Row in $Table) {
Copy-Content $row.OldData $row.NewData
Update-Csv $row.Status = "Done"
}