Ich habe ein sehr kleines Skript, das ich versuche zu laufen und zu testen. Siehe unten:Variable wird nicht aktualisiert
$value = Get-Content C:\Temp\cdrc2g.txt
if ($value -ge 3600)
{
Invoke-Expression C:\Scripts\Email.ps1
}
Es gibt eine Textdatei namens „cdrc2g.txt“, die alle 15 Minuten mit einem numerischen Wert aktualisiert zu werden. Ich versuche, das oben genannte in Taskplaner jede Stunde auszuführen. Beim Testen habe ich festgestellt, dass $value
nicht aktualisiert wird, wenn sich die Datei ändert. Es scheint, als ob es die allererste Nummer ergreift und niemals aktualisiert.
Zum Beispiel, wenn ich die cdrc2g.txt Datei manuell auf eine Nummer höher als 3600 ändern, passiert nichts. Es sollte mir eine E-Mail senden, aber PowerShell sieht den unterschiedlichen Wert nicht. Ich habe bestätigt, dass PowerShell nicht ausgeführt wird, und schließt vollständig, nachdem der Taskplaner ausgeführt wurde. Was kann ich tun, damit die $value
jedes Mal aktualisiert wird, wenn Task Scheduler dieses Skript ausführt?
der Beurteilung durch die Eingabe nehmen -tail 1 verwenden gibt es nur 1 Nummer in die Datei? – 4c74356b41
@ 4c74356b41 Ich bin mir da nicht sicher, da er auch schrieb: * schnappt sich die allererste Nummer * –
oh richtig, ich habe das nicht bemerkt, das würde auch das Verhalten erklären. – 4c74356b41