roegger
Goto Top

Batch Funktion - Files aus Unterordnern mit gleichem Namen in ein File zusammenfügen

Hallo,

ich habe rund 2 Millionen Reviews die in Unterordnern liegen. Zuerst nach Städten, dann nach Unternehmen dann nach Rating (1-5) darin dann das eigentliche review als txt
also zB. Berlin/Hotel1/1-Star/rating1
Berlin /Hotel2/1-Star/rating 1
Berlin/Hotel 2/2-Star/rating 1, rating 2, rating....


Ich bernötige nun alle 1-star ratings von Berlin, dann alle 2-star ratings von Berlin..... dann das gleiche von Hamburg etc. etc.

gibt es eine Batch-Funktion um die reviews entsprechend zu filtern und dann gleich zusammen zu fügen.

Kurz: suche alle Unterordner mit dem Namen "1-star" und füge alle files darin mit der Endung .txt in ein file namens xy.txt zusammen

Über WindowsSuche und dann kopieren hängt sich mein Rechner auf....

danke
Roman

Content-ID: 370502

Url: https://administrator.de/forum/batch-funktion-files-aus-unterordnern-mit-gleichem-namen-in-ein-file-zusammenfuegen-370502.html

Ausgedruckt am: 06.04.2025 um 01:04 Uhr

emeriks
emeriks 08.04.2018 aktualisiert um 17:30:13 Uhr
Goto Top
Hi,
sorry, aber jemand, der mit 2 Mio Dateien hantiert, sollte sich eigentlich mit entsprechenden Kommandozeilenbefehlen auskennen.

Powershell sollte ausreichen.
Und was heißt "zusammenfügen"? Einfach aneinanderhängen?

E.
roegger
roegger 08.04.2018 aktualisiert um 19:26:13 Uhr
Goto Top
Wenn ich mich damit auskennen würde, hätte ich die Frage hier nicht gestellt. Bin Soziologe und kein ITler

Zusammenfügen = eine textdatei erstellen

for %f in (*.txt) do type "%f" >> output.txt
Hilft mir noch nicht, da ich zuerst die review.txt files aus allen entsprechenden Ordnern suchen muss.
135799
135799 08.04.2018, aktualisiert am 09.04.2018 um 09:08:23 Uhr
Goto Top
Powershell
$root = "D:\Ratings"  
$output = "D:\Ratings"  
gci $root -Dir | %{
    gci $_.Fullname -File -Recurse -Filter "Review.txt" | gc | sc "$output\$($_.Name).txt"  
}
Batch
@echo off
set "root=D:\Ratings"  
set "output=D:\Ratings"  
for /d %%a in ("%root%") do (  
    >"%output%\%%~nxa.txt" (for /f "delims=" %%b in ('dir /b /s /a-d "%%~a\review.txt"') do type "%%b")  
)
Gruß schnuffi