tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von deepthroat
  • 1 Beitrag von deepthroat
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
1720
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    rkrause rkrause ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    27
    Habe folgende Dateien, nach diesem Muster:

    "sapnote.htm@numm=1320881&vers=0000000000&language=D&sap-language=D"

    Dies Dateien sollen per Batch umbenannt werden, wie folgt:

    1. Diesen String entfernen: sapnote.htm@numm= (also bis zur Nummer)
    2. Diesen String entfernen: &vers=0000000000&language=D&sap-language=D (praktisch alles ab dem &

    3. als Dateiendung noch pdf anhängen

    Fertig, das Endergebnis sollte dann so aussehen: hinweis_1320881.pdf

    Kann man dies realisieren!? Habe ähnliches schon mal mit "SED" gemacht, aber dies in Texten. Um das mit Dateien zu machen, habe ich schon leider vergeblich versucht

    Suche also ein Tool, mit dem ich komplette String ersetzen kann, ich such kein Tool das mit Gui arbeitet.

    mfg
    Geändert von rkrause (26.11.09 um 14:48 Uhr)
     

  2. #2
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Zitat Zitat von rkrause Beitrag anzeigen
    3. als Dateiendung noch pdf anhängen
    Fertig, das Endergebnis sollte dann so aussehen: hinweis_1320881.pdf
    Moin,

    wie Du die Umbennung per Batch hin bekommst kann ich so aus dem Stand leider nicht sagen ... aber ein kurzer Hinweis:

    ist Dir bewusst, dass durch das Umbenennen auf ".pdf" aus Deiner Datei nicht automatisch auch ein PDF-Dokument wird?
    Dafür müsstest Du konvertieren

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  3. #3
    rkrause rkrause ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    27
    das Dokument ist ein PDF-Dokument

    In Verbindung mit Wget und einem Massendownload entstehen leider diese Cryptischen Dateien. Möchte nun einfach ein Batchscript nutzen mit dem ich das per Klick umbenenne und gut für andere Zwecke brauchen könnte.

    Mit Gui-Tools bzw den Totalcommander würde ich das schon mit wenigen Schritten lösen können, suche wie gesagt ein Batchvariante, wenn möglich mit kleinen Tools wie z.B "Sed" aus dem Linuxbereich oder so.
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Hi.

    Muss es denn unbedingt ein Batch Skript sein? Kannst du nicht was anderes installieren? (eine Bash?)

    Code :
    1
    
    for /f "tokens=3 delims=&@=" %%a in ("sapnote.htm@numm=1320881&vers=0000000000&language=D&sap-language=D") do set num=%%a
    Gruß
    rkrause bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    rkrause rkrause ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    27
    Versteh leider die Frage jetzt nicht ganz Eine Bash würde ich eher Linux bzw Unix zuordenen, bin aber ein leidenschaftlicher Windows-User.

    Mache auch schon relativ viel mit Batches und suche mir die entprechenden "Dostools" oder Linuxportierungen zusammen. Schaue mir mal kurz den den Code an, ob ich damit soweit klar komme, da ich For-Schelifen auch hin und wieder verwende.

    EDIT: ok, aus den Code könnte ich mir schonmal was zurechtschnitzen. Nur noch ein Loop über alle Dateien einbauen. Danke
    Geändert von rkrause (26.11.09 um 15:33 Uhr)
     

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Zitat Zitat von rkrause Beitrag anzeigen
    Versteh leider die Frage jetzt nicht ganz Eine Bash würde ich eher Linux bzw Unix zuordenen, bin aber ein leidenschaftlicher Windows-User.
    Die Bash kann man auch unter Windows nutzen. Cygwin oder MSYS.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  7. #7
    rkrause rkrause ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    27
    aso, extra dafür ein Bash zu installieren, halte ich für unnötig, da ich Batches per USB-Stick hin und wieder auch auf anderen System nutzen möchte.

    Gibs den Linuxbefehle die bequem String aus Dateien erkennen und ersetzen können, da ich auch unter anderem Linuxbefehle (Portierung für Win32) auch schon unter Windows nutze; zb Sed oder grep?
     

  8. #8
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Zitat Zitat von rkrause Beitrag anzeigen
    aso, extra dafür ein Bash zu installieren, halte ich für unnötig, da ich Batches per USB-Stick hin und wieder auch auf anderen System nutzen möchte.

    Gibs den Linuxbefehle die bequem String aus Dateien erkennen und ersetzen können, da ich auch unter anderem Linuxbefehle (Portierung für Win32) auch schon unter Windows nutze; zb Sed oder grep?
    Ja, mit sed:
    Code :
    1
    
    echo "sapnote.htm@numm=1320881&vers=0000000000&language=D&sap-language=D" | sed -e <pattern>
    Gruß

    PS: Du könntest auch mmv (http://ring.u-toyama.ac.jp/archives/...2/release/mmv/) benutzen (siehe http://linux.die.net/man/1/mmv)
    Geändert von deepthroat (26.11.09 um 16:12 Uhr)
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  9. #9
    rkrause rkrause ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    27
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    @echo off
    rem Config
    set source_list=_test.txt
    set suchkriterium=sapnote
     
    :start
    rem datei auf aktuellem stand bringen (durch löschen der datei)
    if exist "%source_list%" del %source_list%
    rem bestimmte dateien per suchkriterium einlesen und in datei stellen
    dir /b "*.*" |find "%suchkriterium%" >>%source_list%
     
    :scan_files
    set source_file=
    for /f "delims=" %%i in ('type "%source_list%"') do set source_file=%%i
    if "%source_file%"=="" goto exit
    for /f "tokens=3 delims=&@=" %%a in ("%source_file%") do set num=%%a
     
    :rename_file
    ren "%source_file%" hinweis_%num%.pdf
    goto start
     
    :exit
    rem irgendwas machen
    exit

    Batch ist fertig und läuft erstmal Feil da irgendwann mal ein bischen rum.

    Vorschläge was man noch verbessern könnte!?

    Danke für die hilfreichen Tipps
     

  10. #10
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Hi.

    Was ich auf jeden Fall versuchen würde zu vermeiden, ist irgendwelche Dateien anzulegen.

    Und warum generierst du die Dateiliste bei jedem Durchlauf nochmal neu?

    Code :
    1
    2
    3
    
    for %%i in (*sapnote.htm*) do (
      for /f "tokens=3 delims=&@=" %%a in ("%%i") do ren "%%i" hinweis_%%a.pdf
    )
    Gruß
    Geändert von deepthroat (27.11.09 um 13:27 Uhr)
    rkrause bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  11. #11
    rkrause rkrause ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    27
    Danke, das ist natürlich die perfekte Lösung
     

Ähnliche Themen

  1. [BATCH] Einzelne Datei suchen und umbenennen
    Von Salomonis im Forum Sonstige Sprachen
    Antworten: 16
    Letzter Beitrag: 24.02.09, 13:55
  2. beliebig viele ordner mit batch erstellen und umbenennen ?
    Von crazymischl im Forum Sonstige Sprachen
    Antworten: 7
    Letzter Beitrag: 30.10.07, 18:34
  3. [BATCH] Dateien umbenennen
    Von Chebbes im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 30.04.05, 10:58
  4. dateien umbenennen
    Von jams99 im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 23.10.04, 15:38
  5. Batch zum umbenennen
    Von hämma im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 31.03.04, 07:49