如何通过使用 powershell 验证文本文件中的每一行来维护会话

How to maintain a session by validating each line in a text file using powershell

下面是我的示例代码:

foreach ($var1 in (gc 1.txt)){
 // my code logic
}

这里的1.txt文件包含了abc、xyz、pqr等值的列表,比如1.txt文件中的100行,需要一一处理。处理完 100 行后,中间会更改一个新值进行处理,现在计数为 101 行。现在我需要重新启动脚本并且应该处理新添加的值而不是从头开始。
实际上,对于这个要求,我的项目中有数百行。 您能否建议我实现此目标的最佳方法?

提前致谢

试试这个 - 保存文件的快照并将其与当前列表进行比较:

# Import values and list of completed updates
$ToUpdate  = Get-Content list.txt
$Completed = Get-Content completed.txt

# Take a snapshot for next run
Copy-Item -Path list.txt -Destination completed.txt -Force

# use Compare to determine which updates are new
$Unprocessed = Compare-Object $ToUpdate $Completed | 
    where SideIndicator -EQ '<=' | 
    Select -ExpandProperty InputObject

Foreach ($var1 in $Unprocessed) {
  # Do Stuff
}

理想情况下,您想检查您的实际目标而不是日志文件。如果您要更新 database/user directory/grocery 列表,请查询该列表,否则您可能 运行 遇到问题。如果在您不注意时其他东西更新了目标怎么办?如果您的脚本出错并且实际上没有完成所有更新怎么办?需要注意的事项。