VolkerL 0 Posted January 24 Report Share Posted January 24 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 Link to post
cj_berlin 76 Posted January 24 Report Share Posted January 24 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 Link to post
VolkerL 0 Posted January 24 Author Report Share Posted January 24 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 Link to post
BOfH_666 218 Posted January 25 Report Share Posted January 25 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 Link to post
VolkerL 0 Posted January 25 Author Report Share Posted January 25 Hallo BOfH_666, das habe bei der Google-Suche "powershell als batch ausführen" gefunden, aber es funktioniert. Gruß Volker Quote Link to post
muenster 15 Posted February 8 Report Share Posted February 8 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 Link to post
BOfH_666 218 Posted February 8 Report Share Posted February 8 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 Link to post
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.