Textdateien TXT in allen Verzeichnissen suchen und zusammenfassen
Hallo,
ich habe ein Verzeichnis mit vielen Unterverzeichnissen, in denen viele TXT-Dateien liegen.
Ich wollte mit diesem Script alle TXT zusammenfassen zu einer.
Die TXT-Dateien enthalten mehrzeilige Texte und dürfen nicht verändert werden, nur aneinander zusammengefasst werden.
Wo liegt das Problem?
Vielen Dank
ich habe ein Verzeichnis mit vielen Unterverzeichnissen, in denen viele TXT-Dateien liegen.
Ich wollte mit diesem Script alle TXT zusammenfassen zu einer.
Die TXT-Dateien enthalten mehrzeilige Texte und dürfen nicht verändert werden, nur aneinander zusammengefasst werden.
Wo liegt das Problem?
@ECHO OFF
setlocal
set "WorkingDir=C:\TEST"
set "InFiles=%WorkingDir%\*.txt"
set "OutFile=%WorkingDir%\Ergebnis.txt"
type NUL > "%OutFile%"
for %%f in ("%InFiles%") do (
>>"%OutFile%" <NUL set /p "=%%f@"
for /f "usebackq delims=" %%l in ("%%f") do (
>>"%OutFile%" <NUL set /p "=%%l@"
)
>>"%OutFile%" echo.
)
endlocal
exit /b
Vielen Dank
Please also mark the comments that contributed to the solution of the article
Content-ID: 321405
Url: https://administrator.de/contentid/321405
Printed on: September 1, 2024 at 01:09 o'clock
19 Comments
Latest comment
![131381](/images/members/profile_male_48x48.png)
PS Onliner
Gruß
gci 'c:\Test' -Filter *.txt -recurse | %{gc $_.Fullname -ReadCount 1000 | Add-Content 'c:\Test\Ergebnis.txt'}
Hey,
Dave ist der Autor dieser Antwort. Ich habe die nicht überprüft, weil das bei ihm nicht nötig ist. Also noch mal übersetzt:
"level" ist der Startordner.
Melde dich, wenn es nicht hinhaut![face-smile face-smile](/images/icons/fa/light/face-smile.svg)
Gruß, Endoro
Dave ist der Autor dieser Antwort. Ich habe die nicht überprüft, weil das bei ihm nicht nötig ist. Also noch mal übersetzt:
@echo off & setlocal
copy nul blah.txt >nul
for /d %%F in (level*) do copy /b blah.txt + "%%F\*.txt" >nul
"level" ist der Startordner.
Melde dich, wenn es nicht hinhaut
Gruß, Endoro
![77559](/images/members/profile_male_48x48.png)
Hallo,
deine Batchdatei tut doch das was du beschrieben hast, allerdings fasst es alle Dateiinhalte zu einem langen String zusammen (Set /P) Alle Zeilenenden werden duch ein @-Zeichen ersetzt.
Ausserdem ist es niemals gut eine Datei mit gleicher Extension im Scanbereich zu erzeugen. Also in Zeile 07 besser Ergebnis.temp nehmen und ggfs später umbenennen.
Zeile 12 gibt den jeweiligen Dateinamen aus, wenn das nicht erwünscht ist - weglassen. Wenn die Zeilen ganz normal ausgegeben werden sollen Zeile 15 ersetzen durch
deine Batchdatei tut doch das was du beschrieben hast, allerdings fasst es alle Dateiinhalte zu einem langen String zusammen (Set /P) Alle Zeilenenden werden duch ein @-Zeichen ersetzt.
Ausserdem ist es niemals gut eine Datei mit gleicher Extension im Scanbereich zu erzeugen. Also in Zeile 07 besser Ergebnis.temp nehmen und ggfs später umbenennen.
Zeile 12 gibt den jeweiligen Dateinamen aus, wenn das nicht erwünscht ist - weglassen. Wenn die Zeilen ganz normal ausgegeben werden sollen Zeile 15 ersetzen durch
>>%OutFile% Echo:%%l
Hey,
sei mir bitte nicht böse, jeder hat mal einen "Durchhänger".
Ich wollte und will Dich nicht beleidigen.
Gruß, Endoro
sei mir bitte nicht böse, jeder hat mal einen "Durchhänger".
Ich wollte und will Dich nicht beleidigen.
Gruß, Endoro
![131381](/images/members/profile_male_48x48.png)
dir /b /s /a-d
![131381](/images/members/profile_male_48x48.png)
Falsch, ein For /f Loop kein for /d
Und in %%F steht dann kein Ordner sondern ein Dateipfad!
Man man man ist schon schwer die Suche zu bedienen was ...
https://www.google.de/search?q=batch+for+beginners
Und in %%F steht dann kein Ordner sondern ein Dateipfad!
Man man man ist schon schwer die Suche zu bedienen was ...
https://www.google.de/search?q=batch+for+beginners
![131381](/images/members/profile_male_48x48.png)
Kein Wunder...Tutorial zur FOR-Schleife
@echo off
set "SrcDir=C:\Daten"
copy nul test.txt >nul
for /f "delims=" %%a in ('dir /b /s /a-d "%SrcDir%\*.txt"') do copy /b test.txt + "%%a"
![131381](/images/members/profile_male_48x48.png)
Zitat von @chgs2011:
Wow, sehr cool ... klappt perfekt jetzt, VIELEN DANK!
Hinten " + "%%a"" durfte ich auch keinen Dateityp anhängen, auch gut zu wissen.
ein for /? hätte es dir ebenso gezeigt!Wow, sehr cool ... klappt perfekt jetzt, VIELEN DANK!
Hinten " + "%%a"" durfte ich auch keinen Dateityp anhängen, auch gut zu wissen.
Die Creme de la creme wäre natürlich noch (das Problem trat heute auf), wenn man per Batch falsch kodierte Texte gleich in ANSI kodieren könnte.
Dann bitte noch ein "gelöst" hinten dran.
Gruß