okniloso 0 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 Hallo zusammen, ich habe 3 Textdateien. Buchstaben.txt = Inhalt ist A B C D E Zahlen.txt = Inhalt ist 1 2 3 4 Ergebnis.txt = A 1 Gibt es eine Möglichkeit eine Batch-Datei zu erstellen, die in Ergebnis.txt reinschaut und den Wert A aus der Buchstaben.txt und den Wert 1 aus der Zahlen.txt löscht? Wenn ich in Ergebnis.txt den Wert B 4 stehen habe, soll die Batch aus der Buchstaben.txt das B löschen und aus der Zahlen.txt die 4 . Habt ihr eine Idee? Danke euch. Zitieren Link zu diesem Kommentar
Nobbyaushb 1.475 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 Guck mal hier: gleiche Frage, komisch... Zitieren Link zu diesem Kommentar
NilsK 2.957 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 Moin, Schulaufgabe? Gruß, Nils Zitieren Link zu diesem Kommentar
okniloso 0 Geschrieben 17. Januar 2019 Autor Melden Teilen Geschrieben 17. Januar 2019 Nein. Diesmal nicht. Ich strebe diesen Lösungsansatz mit .bat an. Ist das möglich. Das Antwort von dem genannten Thread klappt nicht so, wie ich es mir vorstelle. Ehrlich: KEINE SCHULAUFGABE. Viele Grüße Zitieren Link zu diesem Kommentar
NilsK 2.957 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 (bearbeitet) Moin, wenn man es wirklich will, kriegt man das sicher auch per Batch hin. Da die "Sprache" aber eigentlich keine ist und auch für sowas nie entworfen wurde, wird das aber sehr umständlich. Die PowerShell hingegen ist ausdrücklich auch für komplexere Aufgaben gemacht und hat ein gutes Handling von Variablen, Schleifen, Strings usw. Auf jeden Fall müsstest du für dich erst mal die Logik genauer definieren. Unter welchen exakten Umständen soll exakt was passieren? Mit so einer Definition ist man dann oft schon nah an der Lösung. Gruß, Nils bearbeitet 17. Januar 2019 von NilsK Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 vor 17 Minuten schrieb okniloso: Ich strebe diesen Lösungsansatz mit .bat an. Warum? vor 17 Minuten schrieb okniloso: Das Antwort von dem genannten Thread klappt nicht so, wie ich es mir vorstelle. Welche Aufgabe willst Du denn wirklich damit lösen? Ich gehe davon aus, dass Du das bereits weißt, aber ich wiederhole es einfach zur Sicherheit nochmal: .bat/.cmd/batch ist ziemlich obsolet und wurde schon vor 'ner ganzen Weile durch die viel mächtigere Powershell ersetzt - besonders wenn es um komplexere Aufgaben geht. Es gibt quasi nix, was Du mit .bat/.cmd/batch machen konntest, was Du nicht genauso oder einfacher und besser mit Powershell machen kannst. Wenn Du vorhast, noch eine Weile in "Windows-Umgebungen unterwegs zu sein", empfehle ich Dir dringend, Dich mit Powershell zu beschäftigen. Das wird Dir das Leben erleichtern und ich bin mir sicher, dass es sich für Dich auszahlen wird. Zitieren Link zu diesem Kommentar
okniloso 0 Geschrieben 17. Januar 2019 Autor Melden Teilen Geschrieben 17. Januar 2019 ok. dann mache ich mich mehr mit der Powershell schlauer. Geht denn du Umsetzung, wenn ich mich trotzdem mit der Powershell und den .txt bedine? Heißt: Ausführung durch Powershell und Werte in der txt Im genannten Link, wird alles in der Powershell gemacht und keine TXT Dateien genommen. Habt ihr noch einen Tipp. Danke euch Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 (bearbeitet) Batch ist eine Stapeldatei, sie enthält i.d.R. einen oder mehrere Befehle des Komandointerpretes CMD. Diese Befehle und deren Möglichkeit muss man kennen und beherrschen und auch die Beschränkungen. Prinzipiell gibt es einige Möglichkeiten einer einfachen Textbearbeitung, aber keine der wirklich direkten Dateibearbeitung. bearbeitet 17. Januar 2019 von lefg Zitieren Link zu diesem Kommentar
testperson 1.707 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 vor 12 Minuten schrieb okniloso: Habt ihr noch einen Tipp. Nimm eine CSV und trenne die Werte in der Datei z.B. mit ";". Dann kannst du aus dem Script im anderen Thread die Variabeln aus der ersten und zweiten Zeile mit Import-CSV einlesen. Bei "$zahlinput = $zahltemp" bzw. "$buchstbeinput = $buchstbetemp" schreibst du dann mit Export-CSV zurück. Allerdings müsstest du dann die äußere Schleife anders beenden. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 (bearbeitet) vor 36 Minuten schrieb okniloso: ok. dann mache ich mich mehr mit der Powershell schlauer. Brav! Zitat Geht denn du Umsetzung, wenn ich mich trotzdem mit der Powershell und den .txt bedine? Heißt: Ausführung durch Powershell und Werte in der txt Definitiv. Hier ... nur zum Angeben .... Get-Content -Path .\Ergebnis.txt -OutVariable Ergebnis Get-Content -Path .\Buchstaben.txt -OutVariable Buchstaben Get-Content -Path .\Zahlen.txt -OutVariable Zahlen "$Ergebnis" -match '(\w)\s+(\d)' $Buchstaben -replace $Matches[1] | Set-Content -Path .\Buchstaben.txt -Force $Zahlen -replace $Matches[2] | Set-Content -Path .\Zahlen.txt -Force ... mehr ist für den Anfang nicht nötig ... bearbeitet 17. Januar 2019 von BOfH_666 Zitieren Link zu diesem Kommentar
okniloso 0 Geschrieben 17. Januar 2019 Autor Melden Teilen Geschrieben 17. Januar 2019 vor 1 Stunde schrieb BOfH_666: Brav! Definitiv. Hier ... nur zum Angeben .... Get-Content -Path .\Ergebnis.txt -OutVariable Ergebnis Get-Content -Path .\Buchstaben.txt -OutVariable Buchstaben Get-Content -Path .\Zahlen.txt -OutVariable Zahlen "$Ergebnis" -match '(\w)\s+(\d)' $Buchstaben -replace $Matches[1] | Set-Content -Path .\Buchstaben.txt -Force $Zahlen -replace $Matches[2] | Set-Content -Path .\Zahlen.txt -Force ... mehr ist für den Anfang nicht nötig ... Vielen Dank. Ich habe mal ein Screen angehängt. Leider bekomme ich einen Fehler (siehe Screen). Der Wert a aus der Ergebnis.txt steht immer noch in der Buchstaben.txt vor 3 Minuten schrieb okniloso: Vielen Dank. Ich habe mal ein Screen angehängt. Leider bekomme ich einen Fehler (siehe Screen). Der Wert a aus der Ergebnis.txt steht immer noch in der Buchstaben.txt Mein FEHLER sorry. Hat alles geklappt. 1000 Dank. Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 vor 36 Minuten schrieb okniloso: Mein FEHLER sorry. Hat alles geklappt. 1000 Dank. Dann lösch doch einfach die Screenshots - die helfen dann im Zweifel auch jemand anderem nicht weiter, wenn mal jemand das Gleiche oder was Ähnliches sucht. An diesem kleinen Fehler ist aber schon zu sehen, dass diese Lösung alles andere als robust und fehlertolerant ist. Du solltest also peinlich genau darauf achten, dass alle nötigen Voraussetzungen erfüllt sind oder entsprechend eine gute Fehlerbehandlung einbauen - ganz besonders, wenn Du nicht der Einzige bist, der mit diesem Code arbeiten soll. Zitieren Link zu diesem Kommentar
okniloso 0 Geschrieben 17. Januar 2019 Autor Melden Teilen Geschrieben 17. Januar 2019 vor 15 Minuten schrieb BOfH_666: Dann lösch doch einfach die Screenshots - die helfen dann im Zweifel auch jemand anderem nicht weiter, wenn mal jemand das Gleiche oder was Ähnliches sucht. An diesem kleinen Fehler ist aber schon zu sehen, dass diese Lösung alles andere als robust und fehlertolerant ist. Du solltest also peinlich genau darauf achten, dass alle nötigen Voraussetzungen erfüllt sind oder entsprechend eine gute Fehlerbehandlung einbauen - ganz besonders, wenn Du nicht der Einzige bist, der mit diesem Code arbeiten soll. Alles klar danke. Sag mal, geht das auch mit Worten? WEIL: Wenn ich z.B. rot, gruen, lila, schwarz in der buchstaben.txt und im Ergebnis.txt wird zwar in der zahlen bat der wert 3 rausgenommen in der Buchstaben.bat aber vom schwarz nur das T. Gibt es die Möglichkeit egal wie lang die Zeile ist, den gesamten Wert der Zeile zu löschen? Zitieren Link zu diesem Kommentar
NilsK 2.957 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 Moin, Vorschlag: Entweder du definierst mal, was du eigentlich vorhast. Dann kann man dir passende Vorschläge machen. Oder (vermutlich viel besser): Du nimmst dir Zeit, dich mit Grundlagen zu befassen und in Ruhe Dinge zu probieren. Dann meldest du dich, wenn du konkrete, beschreibbare Probleme hast. Ein Board wie dieses eignet sich nicht als Lern-Chat. Gruß. Nils 1 Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 17. Januar 2019 Melden Teilen Geschrieben 17. Januar 2019 vor 9 Minuten schrieb okniloso: ... Sag mal, geht das auch mit Worten? .... Das hängt von Deinen Fähigkeiten ab ... aber prinzipiell ja - klar!!!! ... Ich kann also Nils nur zustimmen. Nimm Dir ein bissl Zeit und schaff Dir die Grundlagen von Powershell drauf. Ein guter Startpunkt könnte die Microsoft Virtual Academy sein. Dort der kostenlose Kurs Getting Started with Microsoft Powershell. Keine Angst, dort geht es zwar um Powershell 3.0 aber die Grundlagen passen auch sehr gut für die aktuelle Windows Version 5.1. Viel Spaß 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.