Jalara Studio

veröffentlicht am

Dateien und Ordner
in Windows
ohne Wort "-Kopie (1)" usw. kopieren

# # #


Bei Windows wird standardmäßig bei einer Kopie der Datei der Anhang "-Kopie" im Dateinamen angehangen.

Ich brauche aber stattdessen das Datum oder wahlweise Datum mit Uhrzeit.

In diese Anleitung beschreibe ich, wie sich unter Windows 10 und Windows 11 diese zwei zusätzlichen Einträge im Rechtsklick-Menü erstellen lassen:

  1. Mit Datum kopieren → erzeugt eine Kopie mit Datum im Format YYYY-MM-DD
  2. Mit Datum + Zeit kopieren → erzeugt eine Kopie mit Datum und Uhrzeit im Format -YYYY-MM-DD_HH_uhr_MM

Die Funktion gilt für Dateien und Ordner gleichermaßen. Das Original bleibt unverändert. Es erscheint kein sichtbares PowerShell-Fenster.

Voraussetzungen

  • Windows 10 oder Windows 11
  • Schreibzugriff auf den Zielordner
  • Ein Ordner für Skripte (hier verwendet: D:\FILES\SCRIPTS\PS1)

Der Pfad kann angepasst werden, muss dann aber überall identisch geändert werden.

Schritt 1: Skript-Ordner anlegen

Falls noch nicht vorhanden, folgenden Ordner anlegen:

D:\FILES\SCRIPTS\PS1

Schritt 2: PowerShell-Skript „Mit Datum kopieren“

Datei erstellen

Pfad:

D:\FILES\SCRIPTS\PS1\MitDatumKopieren.ps1

Inhalt

param (
    [string]$source
)

$date = Get-Date -Format "yyyy-MM-dd"

if (Test-Path $source -PathType Container) {
    $parent = Split-Path $source
    $name = Split-Path $source -Leaf
    $destination = Join-Path $parent "$name`_$date"
    Copy-Item -Path $source -Destination $destination -Recurse
}
else {
    $parent = Split-Path $source
    $name = [System.IO.Path]::GetFileNameWithoutExtension($source)
    $ext  = [System.IO.Path]::GetExtension($source)
    $destination = Join-Path $parent "$name`_$date$ext"
    Copy-Item -Path $source -Destination $destination
}

Schritt 3: PowerShell-Skript „Mit Datum + Zeit kopieren“

Datei erstellen

Pfad:

D:\FILES\SCRIPTS\PS1\MitDatumZeitKopieren.ps1

Inhalt

param (
    [string]$source
)

$stamp = Get-Date -Format "-yyyy-MM-dd_HH'_uhr'_mm"

if (Test-Path $source -PathType Container) {
    $parent = Split-Path $source
    $name = Split-Path $source -Leaf
    $destination = Join-Path $parent "$name$stamp"
    Copy-Item -Path $source -Destination $destination -Recurse
}
else {
    $parent = Split-Path $source
    $name = [System.IO.Path]::GetFileNameWithoutExtension($source)
    $ext  = [System.IO.Path]::GetExtension($source)
    $destination = Join-Path $parent "$name$stamp$ext"
    Copy-Item -Path $source -Destination $destination
}

Schritt 4: VBScript zum unsichtbaren Starten von PowerShell

Damit kein PowerShell-Fenster sichtbar wird, wird PowerShell über wscript.exe gestartet.

Datei 1: Mit Datum

Pfad:

D:\FILES\SCRIPTS\PS1\MitDatumKopieren.vbs

Inhalt

Set WshShell = CreateObject("WScript.Shell")
src = WScript.Arguments.Item(0)

cmd = "powershell.exe -NoProfile -ExecutionPolicy Bypass -File ""D:\FILES\SCRIPTS\PS1\MitDatumKopieren.ps1"" """ & src & """"
WshShell.Run cmd, 0, False

Datei 2: Mit Datum + Zeit

Pfad:

D:\FILES\SCRIPTS\PS1\MitDatumZeitKopieren.vbs

Inhalt

Set WshShell = CreateObject("WScript.Shell")
src = WScript.Arguments.Item(0)

cmd = "powershell.exe -NoProfile -ExecutionPolicy Bypass -File ""D:\FILES\SCRIPTS\PS1\MitDatumZeitKopieren.ps1"" """ & src & """"
WshShell.Run cmd, 0, False

Schritt 5: Kontextmenü-Einträge in der Registry

Eintrag 1: Mit Datum kopieren

Datei erstellen:

MitDatumKopieren.reg

Inhalt

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\MitDatumKopieren]
@="Mit Datum kopieren"

[HKEY_CLASSES_ROOT\*\shell\MitDatumKopieren\command]
@="wscript.exe \"D:\FILES\SCRIPTS\PS1\MitDatumKopieren.vbs\" \"%1\""

[HKEY_CLASSES_ROOT\Directory\shell\MitDatumKopieren]
@="Mit Datum kopieren"

[HKEY_CLASSES_ROOT\Directory\shell\MitDatumKopieren\command]
@="wscript.exe \"D:\FILES\SCRIPTS\PS1\MitDatumKopieren.vbs\" \"%1\""

Die Datei per Doppelklick importieren und bestätigen.

Eintrag 2: Mit Datum + Zeit kopieren

Datei erstellen:

MitDatumZeitKopieren.reg

Inhalt

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\MitDatumZeitKopieren]
@="Mit Datum + Zeit kopieren"

[HKEY_CLASSES_ROOT\*\shell\MitDatumZeitKopieren\command]
@="wscript.exe \"D:\FILES\SCRIPTS\PS1\MitDatumZeitKopieren.vbs\" \"%1\""

[HKEY_CLASSES_ROOT\Directory\shell\MitDatumZeitKopieren]
@="Mit Datum + Zeit kopieren"

[HKEY_CLASSES_ROOT\Directory\shell\MitDatumZeitKopieren\command]
@="wscript.exe \"D:\FILES\SCRIPTS\PS1\MitDatumZeitKopieren.vbs\" \"%1\""

Die Datei per Doppelklick importieren und bestätigen.

Ergebnis

Im Rechtsklick-Menü von Dateien und Ordnern stehen nun zwei neue Einträge:

  • Mit Datum kopieren
  • Mit Datum + Zeit kopieren

Beispiele

Datei.txt
→ Datei_2026-01-06.txt
→ Datei-2026-01-06_20_uhr_57.txt

Ordner
→ Ordner_2026-01-06
→ Ordner-2026-01-06_20_uhr_57

Rückgängig machen

Zum Entfernen genügt es, die folgenden Registry-Schlüssel zu löschen:

HKEY_CLASSES_ROOT\*\shell\MitDatumKopieren
HKEY_CLASSES_ROOT\Directory\shell\MitDatumKopieren
HKEY_CLASSES_ROOT\*\shell\MitDatumZeitKopieren
HKEY_CLASSES_ROOT\Directory\shell\MitDatumZeitKopieren

Die Skriptdateien können danach gelöscht werden.