Ergebnis 1 bis 8 von 8
  1. #1
    Mitglied
    Registriert seit
    Dec 2009
    Beiträge
    6

    Standard dos: umbennen, wenn Datei existiert?

    Hallo,
    Ich habe eine kleine bat-datei gemacht, in welcher der befehl ipconfig /all>IP.txt vorkommt. Das klappt auch wunderbar, also nach dem ausführen habe ich die datei IP.txt, nun hätte ich es jedoch gern das sich der name ändert wenn die datei bereits existiert z.b. in IP2.txt oder so. Ich habe schon ne weile im netz gesucht und dann als vorhergehenden befehl folgendes einggeben: if exist ip.txt ren ip.txt ipALT.txtauch das geht aber halt nur einmal. Ich hoffe ihr versteht mein Problem und könnt mir helfen, habe heute erst angefangen mit batch.

    MfG
    pate

  2. #2
    miseō anthrōpos Avatar von Weltsadist
    Registriert seit
    Jan 2009
    Ort
    Im Arsch
    Beiträge
    1.805

    Standard Re: dos: umbennen, wenn Datei existiert?

    Streng genommen, hat das hier mit DOS nicht viel zu tuen - auch wenn M$ auch nach knap 20 Jahren keinen funktionstechnisch besseren Befehlsinterpreter zu Stande gebracht hat, gehört ipconfig immer noch ins Windows NT Universum.

    Zum Thema - Ich würde einfach mal mit Variblen arbeiten.

    Mit "set dname=1" ordnest du der Variabel dname den Wert 1 zu, dann kannst du mit "set /a dname=%dname%+1" eins höher zählen, falls die Datei schon vorhanden ist oder dann halt mit "ipconfig /all>%dname%.txt" schreiben - Dann hast du halt 1.txt, 2.txt usw.

    Wobei es je nach Situation / Verwendungszweck auch sinnig seien könnte, einfach Datum & Uhrezeit einzusetzen.

  3. #3
    Mitglied

    (Threadstarter)


    Registriert seit
    Dec 2009
    Beiträge
    6

    Standard Re: dos: umbennen, wenn Datei existiert?

    danke für die antwort

    MfG
    pate
    Geändert von der-pate89 (23. 12. 2009 um 22:38 Uhr) Grund: zum glück noch nicht zu

  4. #4
    Mitglied

    (Threadstarter)


    Registriert seit
    Dec 2009
    Beiträge
    6

    Standard Re: dos: umbennen, wenn Datei existiert?

    hi,
    eig dachte ich es wäre erledigt, ist es aber doch noch nicht

    Ich habe mir mittlerweile diesen code zusammen gebastelt:

    Code:
    @echo off
    title IP Protokoll by
    echo IP Protokollierung by
    echo =====================================
    echo Um die IP zu speichern bitte eine Taste druecken
    pause>nul
    set dname=%USERNAME%__%DATE%
    if exist %dname%.txt goto Dateida
    if not exist %dname%.txt goto Dateinda
    :Dateida
    @echo off
    echo.
    echo Datei existiert bereits
    echo.
    echo Soll die Datei ersetzt werden?
    set /P x=(J)a oder (U)mbenennen 
    if /I "%x%"=="J" goto :Dateinda
    if /I "%x%"=="U" goto :antwort2
    if errorlevel 1 goto :dumm
    :dumm
    echo Bitte waehlen Sie eine Antwort!
    goto :Dateida
    :antwort2
    for /l %%z in (1, 1, 1) do set dname=%USERNAME%_%DATE%_%%z
    goto :fertig
    :fertig
    echo Die Datei wurde unter einem neuen Namen gespeichert
    goto :befehl
    :Dateinda
    @echo off
    echo.
    echo Datei wird erstellt
    :befehl
    ipconfig /all>%dname%.txt
    pause>nul
    hier würde ja jetzt kommen als erste txt: MAX_01.01.2010.txt und als zweite: MAX_01.01.2010_1.txt
    aber wie kann ich dafür sorgen das immer weiter gezählt wird?
    Würde mich über ne weitere Antwort freuen
    MfG
    pate

  5. #5
    miseō anthrōpos Avatar von Weltsadist
    Registriert seit
    Jan 2009
    Ort
    Im Arsch
    Beiträge
    1.805

    Standard Re: dos: umbennen, wenn Datei existiert?

    Ach du Kacke - mach doch auch so einer kleinen Problemstellung nicht so ein riesen Ding.

    Code:
    @echo off
    title IP Logger
    echo Taste drücken!
    pause>nul
    set count=0
    :pruefen
    set /a count=%count%+1
    if exist %USERNAME%_%DATE%_%count%.txt goto pruefen
    ipconfig /all>%USERNAME%_%DATE%_%count%.txt

    So hatte ich mir das gedacht.
    Kann es grade nicht testen, da ich kein passendes OS habe, sollte aber funktionieren.

    Deine Abfragen, mit umbennen oder ersetzten und so, kannste dir ja selber noch einbauen.
    Geändert von Weltsadist (24. 12. 2009 um 03:08 Uhr)

  6. #6
    Mitglied

    (Threadstarter)


    Registriert seit
    Dec 2009
    Beiträge
    6

    Standard Re: dos: umbennen, wenn Datei existiert?

    Ja ich weiß, der code ist etwas länger geworden als ich eig. wollte, aber wie gesagt ich fange gerade erst an und hab einfach mal verschiedene tuts zusammen geworfen

    Danke dein Code klappt prima, den werde ich jetzt mal mit einarbeiten. Kennst du vielleicht noch ein leichtverständliches tut für diese FOR-Schleifen da komm ich noch nicht so ganz dahinter

    MfG
    pate

  7. #7
    miseō anthrōpos Avatar von Weltsadist
    Registriert seit
    Jan 2009
    Ort
    Im Arsch
    Beiträge
    1.805

    Standard Re: dos: umbennen, wenn Datei existiert?

    Zitat Zitat von der-pate89
    Kennst du vielleicht noch ein leichtverständliches tut für diese FOR-Schleifen da komm ich noch nicht so ganz dahinter
    "Das ist ein besonderer Programmierbefehl für Batchdateien. Sogar in Büchern die ich über Batchdatei-Programmierung geschrieben habe, ist es mir schwer gefallen zu erklären, was dieser Befehl macht. Vergessen sie ihn am besten." - Dan Gookin in 'DOS für Dummies' - zweite Auflage.

    So kompliziert ist es garnicht. Zugegeben - ich muste mir hier auch erst alte Fachliteratur rauskrammen.

    for %%variable in (werteberreich) do befehl

    Das wäre der Grundaufbau. Wobei die variable aus einem (einzigen) Zeichen besteht, der werteberreich zB. eine Aufzählung von Dateien o.ä. - auch mit Verwendung von Wildcards enthalten kann & befehl bei jedem Scheifendurchlauf ausgeführt wird und die variable enthalten kann.

    Das ist im Prinzip alles, wobei die Funktionsweise mit unterschiedlicher Parametrierung beinflust werden kann.

    Mit dem /L legst du zB. fest, dass du mit einer Laufvariable arbeiten willst:

    for /L %%variable in (X, X, X) do befehl

    Der Werteberreich ist dann wie folgt aufgeteilt:

    X = Startwert
    X = Interval
    X = Endwert

    Deswegen funktioniert dein Skript auch nicht, da der Startwert dem Endwert entspricht.

  8. #8
    Mitglied

    (Threadstarter)


    Registriert seit
    Dec 2009
    Beiträge
    6

    Standard Re: dos: umbennen, wenn Datei existiert?

    Das war jetzt das erste mal das ich etwas über FOR gelesen und auch verstanden habe denke das könnte auch anderen "noobs" gefallen.

    Vielen Dank nochmal für deine Hilfe, werde mich bestimmt (bald) wieder melden.

    MfG
    Pate

  9.  
     
     

Berechtigungen

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