Zum Inhalt springen
Wiki Schomber
  • Home
Menü Schließen
  • Home

Tipps & Tricks

4
  • Amazon PDF-Rechnungen gesammelt herunterladen
  • 📝 Zeilen löschen in Notepad++
  • Prüfziffer berechnen (EAN-13)
  • QR Code mit Inkscape erstellen

SQL

1
  • Grundidee von LEFT JOIN

Entwicklung & Scripting

2
  • 📂 Massenumbenennung von Datumsordnern
  • 📅 Dynamisches Datum in Batch-Skripten

MS SQL

2
  • Alle Inhalte einer Tabelle in Microsoft SQL Server löschen
  • Bildspeicherung in Business Central (SQL-Ebene)

MySQL

2
  • 🐬 MySQL-Benutzer für Remotezugriff anlegen
  • MySQL Backup per Shell-Skript (Best Practice Anleitung)

Windows 11

1
  • Windows 11: Klassisches Kontextmenü wiederherstellen

Windows

1
  • Windows-Systemreparatur: SFC und DISM

Wordpress

1
  • 🔐 Passwort in WordPress über die Datenbank zurücksetzen

RuskDesk

1
  • Cursor-Darstellung bei Fernwartung (RuskDesk)

Thunderbird

1
  • 🔍 E-Mails nach Betreff durchsuchen
View Categories
  • Home
  • Docs
  • Tipps & Tricks
  • Entwicklung & Scripting
  • 📅 Dynamisches Datum in Batch-Skripten

📅 Dynamisches Datum in Batch-Skripten

1 min read

In Skripten nutzen wir häufig das aktuelle Datum, um Backup-Ordner oder Dateinamen zu generieren. Damit die Sortierung im Explorer logisch bleibt, verwende ich das ISO-Format (YYYY-MM-DD).

🔍 Das Problem mit %DATE% #

Standardmäßig liefert Windows unter deutschen Einstellungen das Datum so: 06.05.2026.

Das ist für Ordnernamen unpraktisch, da:

  1. Punkte in Pfaden manchmal Probleme machen.
  2. Die Sortierung im Explorer nach dem Tag erfolgt (01.01.2026 käme vor dem 02.01.1990).

🛠 Die Lösung: String-Manipulation #

Ich „zerpflücke“ die Standard-Variable %DATE% und setzen sie neu zusammen.

Der Code-Baustein #

Code-Snippet

:: Extrahiert Jahr (6,4), Monat (3,2) und Tag (0,2)
set "MYDATE=%date:~6,4%-%date:~3,2%-%date:~0,2%"

So funktioniert die Zählung: #

Batch zählt die Zeichen in einer Zeichenkette ab 0. Bei 06.05.2026 ergibt das:

TeilBefehlErgebnis (Beispiel)
Jahr%date:~6,4%Start bei Stelle 6, nimm 4 Zeichen → 2026
Monat%date:~3,2%Start bei Stelle 3, nimm 2 Zeichen → 05
Tag%date:~0,2%Start bei Stelle 0, nimm 2 Zeichen → 06

📂 Anwendung im Skript #

Wenn du einen Ordner erstellen willst, der nach Jahr-Monat-Tag sortiert ist, nutzt du die neue Variable so:

Code-Snippet

:: 1. Variable definieren
set "MYDATE=%date:~6,4%-%date:~3,2%-%date:~0,2%"

:: 2. Ordner erstellen (Anführungszeichen schützen bei Leerzeichen!)
mkdir "C:\backup\%MYDATE%"

💡 Tipps & Tricks #

  • ⚡ Schnelle Kommentare:
    • Nutze REM für offizielle Erklärungen.
    • Nutze :: für visuelle Trenner oder kurze Notizen (Achtung: :: nicht innerhalb von Klammern ( ) nutzen!).
  • 🛡 Ordner-Check:Damit das Skript keinen Fehler ausgibt, falls der Ordner schon existiert (z. B. bei manuellem Zweitstart), setze ein if not exist davor:if not exist "C:\Ziel\%MYDATE%" mkdir "C:\Ziel\%MYDATE%"
  • 🌍 Globale Sicherheit:Sollte das Skript mal auf einem Server mit englischen Regionaleinstellungen laufen, würde %DATE% ein anderes Format liefern (z.B. Wed 05/06/2026). In diesem Fall müsste die Zählung im Skript angepasst werden.
Updated on 6. Mai 2026
📂 Massenumbenennung von Datumsordnern📂 Massenumbenennung von Datumsordnern

Powered by BetterDocs

Inhaltsverzeichnis
  • 🔍 Das Problem mit %DATE%
  • 🛠 Die Lösung: String-Manipulation
    • Der Code-Baustein
    • So funktioniert die Zählung:
  • 📂 Anwendung im Skript
  • 💡 Tipps & Tricks