String-Behandlung in Batch-Dateien

Helfe beim Thema String-Behandlung in Batch-Dateien in Windows 10 Allgemeines um eine Lösung zu finden; Hallo Leute! Bin gerade am Tüfteln an einer Batch-Datei und schon recht zügig am Ende meines Lateins angekommen. Hier das Gerüst: @Echo off GOTO :main... Dieses Thema im Forum "Windows 10 Allgemeines" wurde erstellt von wwmj, 30. Januar 2024.

  1. wwmj
    wwmj Neu hier
    Registriert seit:
    30. Januar 2024
    Beiträge:
    2
    Zustimmungen:
    1

    String-Behandlung in Batch-Dateien


    Hallo Leute!
    Bin gerade am Tüfteln an einer Batch-Datei und schon recht zügig am Ende meines Lateins angekommen.

    Hier das Gerüst:
    @Echo off
    GOTO :main

    :get_timestamp
    for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
    set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
    set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
    set "timestamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
    REM Irgendwo im Internet gefunden, kann leider die Quelle nicht mehr nennen.
    REM Definitiv nicht von mir, sondern gut erkennbar von einem, der's drauf hat.
    exit /b

    :main
    For %%G in (*.msg) do (
    rem für jede vorhandene msg-Datei ausführen:

    call :get_timestamp

    rem Zeitstempel erzeugen


    rem Datei umbenennen, wobei dem Dateinamen der Zeitstempel vorangestellt werden soll

    rem umbenannte Datei ins Verzeichnis xyz verschieben
    )

    timeout 1

    GOTO :main

    Das Script würde in einer Endlos-Schleife laufen. Wenn im aktuellen Verzeichnis eine msg-Datei gefunden wird, dann soll die umbenannt und anschließend in ein bestimmtes Verzeichnis verschoben werden.

    Habe einige Versuche unternommen, um das mit dem Dateinamen hinzubekommen, aber kläglich gescheitert, weil ich mit Variablen und Strings in Batchdateien quasi garkeine Erfahrungen habe.

    Habe den Timeout eingefügt, in der Hoffnung, dass ich dadurch mittels STRG-C die Ausführung beenden kann. Oder man müsste das Fenster schließen ...

    Wer kann mir da über die Straße helfen?
     
  2. Hobi Expert
    Willkommen,

    Gehe die folgenden Anleitungen durch:
  3. hal9000
    hal9000 BoardComputer
    Mitarbeiter
    Registriert seit:
    25. August 2015
    Beiträge:
    17.056
    Zustimmungen:
    6.733

    @ wwmj, versuche es mal wie folgt:

    Code:
    @echo off
    setlocal enabledelayedexpansion
    
    :main
    for %%G in (*.msg) do (
        REM Erzeugen Sie den Zeitstempel
        for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
        set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
        set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
        set "timestamp=!YYYY!-!MM!-!DD!_!HH!-!Min!-!Sec!"
    
        REM Umbenennen Sie die Datei, indem Sie den Zeitstempel voranstellen
        ren "%%G" "!timestamp!_%%G"
    
        REM Verschieben Sie die umbenannte Datei in das Verzeichnis xyz
        move "!timestamp!_%%G" "C:\xyz\"
    )
    
    timeout 1
    goto :main
    
    

    Dazu bitte folgendes beachten:
    1. Bitte ersetze "C:\xyz\" durch den Pfad des Verzeichnisses, in das Du die Dateien verschieben möchtest.
    2. Beachte bitte, dass Du die setlocal enabledelayedexpansion Anweisung benötigst, um die Variablen innerhalb der for-Schleife korrekt zu verwenden. Dazu folgende INPUTS: Input 1, Input 2 und Input 3. Ich habe für Dich leider keine Links auf Deutsch gefunden, solltest Du kein Englisch können, öffne die hier gesetzten Links über den Browser EDGE und lasse sie Dir von dort ins Deutsche einfach übersetzten, dies nur am Rande. String-Behandlung in Batch-DateienString-Behandlung in Batch-DateienString-Behandlung in Batch-Dateien
    3. Um das Skript zu stoppen, verwendest Du auch hier die Tastenkombination [STRG] und [c] und dann [J ] eingeben, um den Batch-Job zu beenden, oder einfach das Konsolenfenster schließen.

    Folgende Änderungen wurden von mir an Deiner batch-Datei vorgenommen:
    1. die setlocal enabledelayedexpansion Anweisung wurde hinzugefügt. Dies ermöglicht es, Variablen innerhalb der for-Schleife korrekt zu verwenden.
    2. den :get_timestamp Teil direkt in die Haupt-for-Schleife integriert, um den Zeitstempel für jede .msg Datei zu generieren.
    3. den ren Befehl hinzugefügt, um die Datei umzubenennen, indem der Zeitstempel vorangestellt wird.
    4. den move Befehl hinzugefügt, um die umbenannte Datei in das gewünschte Verzeichnis zu verschieben.
     
    1 Person gefällt das.
  4. wwmj
    wwmj Neu hier
    Registriert seit:
    30. Januar 2024
    Beiträge:
    2
    Zustimmungen:
    1
    Hallo hal9000,

    vielen Dank für Deinen Input. Deine Lösung ist genau das, was ich brauche! Herzlichen Dank!
     
    1 Person gefällt das.
  5. hal9000
    hal9000 BoardComputer
    Mitarbeiter
    Registriert seit:
    25. August 2015
    Beiträge:
    17.056
    Zustimmungen:
    6.733
    @ wwmj, freut mich und vielen lieben Dank für Deine Rückmeldung String-Behandlung in Batch-DateienString-Behandlung in Batch-DateienString-Behandlung in Batch-Dateien

    somit wäre:
    String-Behandlung in Batch-DateienString-Behandlung in Batch-Dateien
     
Thema:

String-Behandlung in Batch-Dateien

Die Seite wird geladen...

String-Behandlung in Batch-Dateien - Ähnliche Themen - String Behandlung Batch

Forum Datum

In einer Batch Datei Admin Abfrage automatisch bestätigen

In einer Batch Datei Admin Abfrage automatisch bestätigen: Hallo zusammen, ich habe eine Batch Datei erstellt, die automatisch mehrere Programme nacheinander ausführt. Zwei dieser Probgramme (in rot dargestellt) brauchen eine Admin Freigabe, die ich dann immer "manuell" ausführe. @Echo OFF ECHO Programme werden gestartet... START "iRacing" /B...

Windows 10 Allgemeines 12. Dezember 2022

Dateien mit Batch Datei bewegen?

Dateien mit Batch Datei bewegen?: Ok also ich möchte Dateien von einem Verzeichnis ins andere Bewegen, und die Dateien sozusagen austauschen. Beispiel: In C:\OrdnerA ist eine .png datei mit dem Namen "Hans" In C:\OrdnerB ist eine .png datei mit dem Namen "Sepp" Ich möchte dass: In C:\OrdnerA ist eine .png datei mit dem Namen...

Windows 10 Support 20. September 2021

Batch-Datei Tastatursteuerung?

Batch-Datei Tastatursteuerung?: Hallo, ich möchte in einer Batch-Datei eine Tastatursteuerung hinzufügen. Ich meine so etwas, wie das: set /p ANSWER="Wollen Sie fortfahren? [Ja/Nein] > " if /i %ANSWER%==Ja (set "ANSWER=" & goto S1) if /i %ANSWER%==Nein (set "ANSWER=" & goto S2) nur ohne, dass man nach der Eingabe "Enter"...

Windows 10 Support 10. August 2021

Batch String +=?

Batch String +=?: Hallo. Ich möchte in Batch gerne x mal ein # zu einem String hinzufügen. Das geht leider nicht: set line= for /L %%a in (1,1,%breite%) do ( set "line=%line%# " ) Also, in anderen Sprachen wäre es line += "# " aber in Batch geht das nicht.. Am Schluss soll dann z.B., wenn die Breite 5 ist,...

Windows 10 Support 11. März 2021

Batch Datei

Batch Datei: Hallo Zusammen, dies ist mein erster Post in diesem Forum. Eine Problem mit dem kopieren von Dateien. Auf Laufwerk T ist in Ordner1 der Ordner2 und in Ordner 2 ist Ordner 3 in dem eine XLSX datei ist. Gerne würde ich diese xlsx Datei über eine Batch Datei sichern in: Laufwerk P Ordner 1...

Windows 10 Allgemeines 12. Februar 2021

Batch Dateien mit Batch erstellen?

Batch Dateien mit Batch erstellen?: Wie erstellt man Batch und VBS Dateien mit Batch? Also eine Batch Datei schreiben die ich nacher zu exe umwandele dass bei einen bestimmten Verzeichnis neue Ordner erstellt und dann selber Batch und VBS Dateien erstellt mit einen bestimmten Inhalt und sie dann im erstellten Ordner abspeichert....

Windows 10 Support 8. Juli 2020

Wie kann ich eine Batch-Datei mit einer Python Datei ausführen?

Wie kann ich eine Batch-Datei mit einer Python Datei ausführen?: Hallo, Ich möchte dass eine Batch-Datei automatisch startet (Auto-Start), aber man kann doch nur EXE-Dateien in den Autostart-Ordner packen/werden von diesem akzeptiert. Deshalb wollte ich ein Python-Skript schreiben, dass die Batch-Datei öffnet, das Python-Programm dann in eine EXE-Datei...

Windows 10 Support 12. Mai 2020

Batch Datei öffnen

Batch Datei öffnen: Hallo, ich hätte da mal eine Frage! Ich möchte eine Batch Datei starten/öffnen, allerdings wird dieser Text bei mir angezeigt "Diese App kann auf dem Pc nicht ausgeführt werden. Wenden Sie sich an den Softwareherausgeber, um eine geeignete Version für Ihren Pc zu finden." Kann mir da...

Windows 10 Support 2. April 2019

String-Behandlung in Batch-Dateien [gelöst]

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Information ausblenden