kleman

Batch - Dateien mit verschiedenen Erstellungsjahren

Hallo,

wie kann ich Dateien (mit verschiedenen Erstellungsjahren) in einen anderen Ordner (Ordnername ist das Erstellungsjahr der Datei) verschieben?

Vielen Dank für die Hilfe!
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 3834429153

Url: https://administrator.de/forum/batch-dateien-mit-verschiedenen-erstellungsjahren-3834429153.html

Ausgedruckt am: 10.06.2025 um 02:06 Uhr

11078840001
11078840001 09.02.2024 aktualisiert um 11:41:15 Uhr
Goto Top
PS
# quellordner
$quelle= "D:\Quelle"  
# zielordner
$ziel = "D:\Ziel"  
Get-ChildItem $quelle -File | move-item -Destination {(new-Item -type dir -path "$ziel\$($_.CreationTime.Year)" -Force).Fullname)} -verbose  
kleman
kleman 09.02.2024 um 11:43:55 Uhr
Goto Top
Danke für die schnelle Antwort..

Ich würde eine Lösung suchen um sie in eine bestehende Batchdatei zu integrieren.
Sorry, hab ich nicht dazugeschrieben..
11078840001
Lösung 11078840001 09.02.2024 aktualisiert um 12:08:57 Uhr
Goto Top
Kein Problem schnell in ne Batch eingbaut :-P
@echo off
set "quelle=D:\Quelle"  
set "ziel=D:\Ziel"  
powershell -EP Bypass -C "Get-ChildItem '%quelle%' -File | move-item -Destination {(new-Item -type dir -path \"%ziel%\$($_.CreationTime.Year)\" -Force).Fullname)} -verbose"  

oder nach "Art kalter Kaffee"

@echo off &setlocal enabledelayedexpansion
set "quelle=D:\Quelle"  
set "ziel=D:\Ziel"  
for %%a in ("%quelle%\*.*") do (  
    set "name=%%a" & set "name=!name:\=\\!"  
    for /f "tokens=2 delims==" %%b in ('wmic datafile where ^(Name^="!name!"^) get CreationDate /value') do (set "dt=%%b" &set "destination=%ziel%\!dt:~0,4!")	  
    if not exist "!destination!" md "!destination!" >nul  
    move "%%a" "!destination!\"  
)

p.s. Suchfunktion ..
Musterlösungen: Dateien verschieben abhängig vom Teil des Dateinamens
kleman
kleman 09.02.2024 um 12:11:53 Uhr
Goto Top
Super, das hat sofort geklappt.

Vielen Dank!