VolkerL 0 Posted January 24, 2021 Report Posted January 24, 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 Quote
cj_berlin 1,385 Posted January 24, 2021 Report Posted January 24, 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 Quote
VolkerL 0 Posted January 24, 2021 Author Report Posted January 24, 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 Quote
BOfH_666 581 Posted January 25, 2021 Report Posted January 25, 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? Quote
VolkerL 0 Posted January 25, 2021 Author Report Posted January 25, 2021 Hallo BOfH_666, das habe bei der Google-Suche "powershell als batch ausführen" gefunden, aber es funktioniert. Gruß Volker Quote
muenster 16 Posted February 8, 2021 Report Posted February 8, 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. Quote
BOfH_666 581 Posted February 8, 2021 Report Posted February 8, 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. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.