Dateinamen in einer txt Datei zusammenführen und weiterverarbeiten.

Lumpe

Enthusiast
Thread Starter
Mitglied seit
11.10.2003
Beiträge
685
Ort
localhost
Hi,

ich habe folgendes Problem: In einem Ordner befinden sich die Messprotokolle einiger Versuche (100). Zu jedem Versuch gehören mehrere Datein (andere Frequenzen) zu unterscheiden sind diese lediglich anhand der Dateiendung. Ich benötige nun von jedem Versuch den Dateinamen. Diese Versuchsnamen sollen dann alle in eine .txt zusammengeführt werden.

Beispiel:
Versuchname1.e1
Versuchname1.e2
Versuchname1.e3
Versuchname1.e4

Versuchname2.e1
Versuchname2.e2
Versuchname2.e3
Versuchname2.e4

Zusammenfassung in einer txt:
Versuchsname1
Versuchsname2

In einem zweiten Schritt sollen die Namen dann dazu dienen, für jede der gesammelten Versuchsnamen eine Datei zu erstellen, welche heißt wie der Versuch.

Versuchsname1.end
Versuchsname2.end

Hat irgendwer eine Idee wie ich das umsetzten kann? Ich habe bescheidene Kenntnisse in C und C#.

Grüße
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Klingt nach einem Job für Perl. Die Grundlagen für die Erstellung der Datei hast schnell drin denk ich, C is overkill imho.
 
Ich würde auch eher Perl raten oder noch einfacher ein Batch File schreiben. Ich habe noch nicht 100% verstanden, was dabei rauskommen soll. Sind denn die Inhalte mit einem Texteditor menschenlesbar? Das würde es noch weiter vereinfachen. Dann würde ich sagen du lässt immer alles mit der selben Endung zusammenfügen.
 
habe auf meiner platte ein ähnlichen code rumliegen. hab ihn für deine situation angepasst.
in deinem ordner müssen alle dateien ohne unterordner frei rumliegen.
du brauchst nur deinen ordner, mit der maus auf folgende batchdatei ziehen(getestet auf win 7).

es wird dann am selben ort wo die batch liegt, ein ordner neuedateien und die Zusammenfassung.txt erstellt.
das kann ein weilchen dauern bei 100 dateien.

ps. in dem ordner neuedateien findest du deine Versuchsname.end dateien.

Code:
@echo off
echo bitte warten
SETLOCAL EnableDelayedExpansion
set drive=%~dp0
pushd %drive%
set datei=%1
set datei=%datei:"=%
del liste.txt >nul 2>nul
FOR %%i in ("%datei%\*") do echo %%~ni>>liste.txt
set datei=liste.txt
echo.>>"%datei%"
FOR /f "usebackq delims=" %%i in ("%datei%") do call :bubu
goto zuzu
:bubu
SET /p erstezeile=<"%datei%"
findstr /v /x /C:"%erstezeile%" "%datei%">"temp.txt" & echo !erstezeile!>>"temp.txt"
del "%datei%"
move "temp.txt" "%datei%">nul
GOTO :EOF
:zuzu
sort "%datei%" /o temp.txt
del "%datei%"
move "temp.txt"  "%datei%">nul
md neuedateien
FOR /F "usebackq delims=" %%i in ("%datei%") do echo off >neuedateien\%%i.end
del liste.txt
chcp 1252 >nul
FOR %%i in ("neuedateien\*") do echo %%~ni>>Zusammenfassung.txt
sort Zusammenfassung.txt /o temp.txt
del Zusammenfassung.txt
move "temp.txt"  Zusammenfassung.txt>nul
cls
echo dateien wurden erstellt.
pause>nul
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh