+ Antworten
Ergebnis 1 bis 6 von 6
  1. #1
    Bootsmann
    Registriert seit
    11.10.2003
    Ort
    localhost
    Beiträge
    682


    Question Dateinamen in einer txt Datei zusammenführen und weiterverarbeiten.

    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

  2. Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.

  3. #2
    Leutnant zur See
    Registriert seit
    02.08.2004
    Beiträge
    1.054


    Standard

    Klingt nach einem Job für Perl. Die Grundlagen für die Erstellung der Datei hast schnell drin denk ich, C is overkill imho.

  4. #3
    Bootsmann
    Registriert seit
    11.10.2003
    Ort
    localhost
    Beiträge
    682
    Themenstarter


    Standard

    Mit Perl habe ich leider keinerlei Erfahrung :-/

  5. #4
    Forenleitung
    Version 2.1
    Avatar von Berlinrider
    Registriert seit
    21.03.2005
    Ort
    City of god
    Beiträge
    26.058


    • Systeminfo
      • Motherboard:
      • ASUS P5K3 Deluxe
      • CPU:
      • Q9550
      • Kühlung:
      • Scythe Ninja
      • Gehäuse:
      • Lian Li PC70
      • RAM:
      • 4 x 2 GB DDR3 1600 A-DATA
      • Grafik:
      • Nvidia GTX 480
      • Storage:
      • 128 GB Crucial M4 + 640 GB WD
      • Monitor:
      • Dell U2711
      • Netzteil:
      • Thermaltake Toughpower 750
      • Betriebssystem:
      • Windows 7 Pro 64 bit
      • Notebook:
      • Toshiba Satellite L40-143
      • Photoequipment:
      • Canon EOS 6D
      • Handy:
      • Galaxy Nexus

    Standard

    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.
    *1955 - †2011 — dead, but never forgotten. thank you steve

    Wahoooooo!



  6. #5
    Bootsmann Avatar von 10101010
    Registriert seit
    19.02.2009
    Beiträge
    622


    Standard

    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
    Geändert von 10101010 (23.03.12 um 01:03 Uhr)

  7. #6
    Bootsmann
    Registriert seit
    11.10.2003
    Ort
    localhost
    Beiträge
    682
    Themenstarter


    Standard

    Vielen Dank!

    @10101010 genau das habe ich gesucht, besten Dank!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein