VolkerL 0 Geschrieben 24. Januar 2021 Melden Teilen Geschrieben 24. Januar 2021 Hallo zusammen, ich bräuchte mal Eure Hilfe: Ich habe seit kurzem eine Wetterstation die per WLAN ihre Daten an Wunderground Weather sendet. Die Wetterstation steht im Ferienhaus und dort läuft rund um die Rechner, der dann die Wetterdaten über ein Programm ins Internet stellt. Nun besteht die Möglichkeit die Daten von Wunderground Weather über eine JSON-String wieder auszulesen, was ich auch bereits alle 5 Minuten tue. Diesen JSON-String wandele ich per JSONEXPORT in eine komma-getrennte dat-Datei um (wetter.dat), die das Wetter-Programm auch versteht. Die Datei enthält immer genau 2 Zeilen, die erste Zeile ist die Überschrift der Felder und in der 2. Zeile stehen die Werte. Nun möchte ich eine 2. Datei erstellen, in der die aufgelaufenen Werte der wetter.dat Zeile für Zeile gesammelt werden. So könnte ich diese Datei zu Hause auf dem Wetterstations-Rechner, der auch rund um die Uhr läuft, z.B. alle 1-2h einlesen und die Statistik usw. fortführen, ohne dass der Rechner im Ferienhaus eingeschaltet ist. Das Einlesen und die Umwandlung heruntergeladenen der JSON-Datei gelingen bereits. Ich weiß aber nicht wie ich es hin bekomme, dass jeweils die erste Zeile gelöscht wird und dann in einer zweiten Datei fortlaufend gesammelt wird. Die erzeugte wetter.dat hat am Ende anscheinend keinen Zeilenvorschub, da die bisherigen Versuche nicht zu neuen Zeilen geführt haben, sondern es entstand eine lange Zeile mit Überschriften und Werten. Ein Beispiel der Datei "wetter.dat" habe ich als "wetter.txt" beigefügt. Gibt es eine Möglichkeit das mit Hilfe eines Batch o.ä. umzusetzen, so dass ich es alle 5 Minuten mit der Aufgabenverwaltung automatisch ausführen kann. Vielen Dank und viele Grüße Volker wetter.txt Zitieren Link zu diesem Kommentar
cj_berlin 1.315 Geschrieben 24. Januar 2021 Melden Teilen Geschrieben 24. Januar 2021 Moin, wenn eine Datei zwei Zeilen hat, liefert Get-Content ein Array mit zwei Mitgliedern. Der Index 1 liefert dann genau die zwote Zeile. Diese kannst Du dann per Add-Content an die fortgeschriebene Datei anfügen. Ein Einzeiler also Zitieren Link zu diesem Kommentar
VolkerL 0 Geschrieben 24. Januar 2021 Autor Melden Teilen Geschrieben 24. Januar 2021 Hallo cj_berlin, vielen Dank. Ich habe mir folgenden Script erstellt, mit es funktioniert. (get-content -path d:\wswin\import\* -include wetter.dat -tail 1 | add-content -path wunderground.dat) Was nicht funktioniert hat ist Powershell direkt mit dem Script in der Aufgabenplanung ausführen zu lassen. Es wird zwar angezeigt, dass "Der Vorgang wurde erfolgreich beendet" aber die Datei wurde nicht ergänzt. Ich habe es nun über einen Batch mit folgendem Inhalt zum Laufen bekommen, die ich ebenfalls mit der Aufgabenplanung aufrufe: @echo off powershell.exe -command "d:\Wswin\Import\zusammenf_1.ps1" Vielen Dank nochmal und viele Grüße Volker Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 25. Januar 2021 Melden Teilen Geschrieben 25. Januar 2021 Volker, schön, dass es jetzt funktioniert. Ich hätte da nur noch eine Frage ... nur aus reiner Neugier: Warum verwendest Du für den Aufruf von Powershell mit einer Skript-Datei den Parameter -Command und nicht -File? Woher hast Du das? Zitieren Link zu diesem Kommentar
VolkerL 0 Geschrieben 25. Januar 2021 Autor Melden Teilen Geschrieben 25. Januar 2021 Hallo BOfH_666, das habe bei der Google-Suche "powershell als batch ausführen" gefunden, aber es funktioniert. Gruß Volker Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 25. Januar 2021 Melden Teilen Geschrieben 25. Januar 2021 alles klar ... Zitieren Link zu diesem Kommentar
muenster 16 Geschrieben 8. Februar 2021 Melden Teilen Geschrieben 8. Februar 2021 Am 25.1.2021 um 03:53 schrieb BOfH_666: Volker, schön, dass es jetzt funktioniert. Ich hätte da nur noch eine Frage ... nur aus reiner Neugier: Warum verwendest Du für den Aufruf von Powershell mit einer Skript-Datei den Parameter -Command und nicht -File? Woher hast Du das? Es gibt aber auch User die "powershell -h" eingeben und lesen. Der Unterschied zwischen -File und -Command ist mir erst später aufgegangen. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 8. Februar 2021 Melden Teilen Geschrieben 8. Februar 2021 vor 1 Minute schrieb muenster: Es gibt aber auch User die "powershell -h" eingeben und lesen. Der Unterschied zwischen -File und -Command ist mir erst später aufgegangen. Das ist aber - wenigstens gefühlt - eine deutliche Minderheit. Man liest das ja ziemlich häufig und ich hatte mich gewundert, wo das wohl herkommt. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.