132749

Per Batch eine vorhandene TXT aktualisieren

Moin,
wie kann man eine vorhandene TXT (COUNTRY) per Batch aktualisieren?

1. COUNTRY.txt (ist bereits vorhanden)

DATUM: 01.01.2017

Denmark\da1\prs500.exe
Denmark\da2\prs400.exe
Denmark\da3\prs400.exe
Denmark\da4\prs500.exe
Poland\da1\prs200.exe
Poland\da2\prs300.exe
Poland\da3\prs300.exe
Poland\da4\prs200.exe


2. NEW.txt (wurde erstellt und soll an COUNTRY übergeben werden!)

DATUM: 01.03.2017

Denmark\da2\prs401.exe
Denmark\da3\prs401.exe
Denmark\da4\prs501.exe
Poland\da1\prs201.exe
Poland\da2\prs301.exe
Poland\da3\prs301.exe

Finland\da3\prs700.exe
Finland\da4\prs600.exe


3. COUNTRY.txt (nach Aktualisierung soll es so aussehen)

DATUM: 01.03.2017

Denmark\da2\prs401.exe
Denmark\da3\prs401.exe
Denmark\da4\prs501.exe
Finland\da3\prs700.exe
Finland\da4\prs600.exe
Poland\da1\prs201.exe
Poland\da2\prs301.exe
Poland\da3\prs301.exe


DATUM: 01.01.2017

Denmark\da1\prs500.exe
Poland\da4\prs200.exe


Wie müsste die Batch jetzt aussehen?
Leider sind meine Kenntnisse nicht ausreichend um das alleine zu realisieren!

Achja, sollte bei einer weiteren Aktualisierung die letzten beiden Länder aktualisiert werden dann soll das dazugehörige Datum entfernt werden!
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 333942

Url: https://administrator.de/forum/per-batch-eine-vorhandene-txt-aktualisieren-333942.html

Ausgedruckt am: 23.04.2025 um 22:04 Uhr

132692
132692 02.04.2017 aktualisiert um 16:48:53 Uhr
Goto Top
Sollte man besser gleich zur Powershell greifen:
$country = 'C:\country.txt'  
$new = 'C:\new.txt'  
((gc $country) + (gc $new)) | ?{$_ -match '\\'} | group {$_.Substring(0,$_.Length - $_.LastIndexOf('\'))} | %{$_.Group[-1]} | sc 'C:\country.txt'  
Gruß p.
132749
132749 02.04.2017 um 18:35:48 Uhr
Goto Top
Hmm,
als Ergenis erhalte ich eine LEERE country.txt!
132692
132692 02.04.2017 aktualisiert um 19:02:06 Uhr
Goto Top
Nö wurde hier getestet, dann hast du es nicht richtig angewendet oder du hast uns hier Details deiner Datei verschwiegen.
Bitte solchen Dateiinhalt immer in Codetags posten, das ist wichtiger denn je!!
Ich gehe davon aus das alles vom Zeilenanfang bis zum letzten Backslash verglichen werden soll ...
132749
132749 02.04.2017, aktualisiert am 03.04.2017 um 21:07:45 Uhr
Goto Top
Bei mir sieht es angepasst so aus:

$country = 'C:\myProgramm\country.txt'  
$new = 'C:\myProgramm\new.txt'  
((gc $country) + (gc $new)) | ?{$_ -match '\\'} | group {$_.Substring(0,$_.Length - $_.LastIndexOf('\'))} | %{$_.Group[-1]} | sc 'C:\myProgramm\country.txt'  


Hinweis:
Auch wenn ich die country.txt in country1.txt ändere bleibt diese leider LEER und somit vermute ich mal, dass der Fehler vor dem erstellen der txt (?{$_ -match '\\'} | group {$_.Substring(0,$_.Length - $_.LastIndexOf('\'))} | %{$_.Group[-1]} |) liegen muss!