daniel011
Goto Top

Zielordner automatisch auswählen lassen

Hallo,

ich möchte eine Batch zum Kopieren von Dateien erstellen.

Das ganze soll wie folgt aussehen:
Dateien, die im Januar erstellt wurden, sollen in einen Ordner mit dem Namen "Januar" kopiert werden.
Dateien, die im Februar erstellt wurden, sollen in einen Ordner mit dem Namen "Februar" kopiert werden usw.
Der Quellenordner ist dabei immer der gleiche.

Wie man einen Kopierbefehl programmiert ist mir bekannt. Was ich nicht weiß, ist wie man den entsprechenden Zielordner automatisch nach Erstelldatum der Datei auswählen lässt.

Ist dies überhaupt möglich? Wenn ja, wie sieht der Befehl aus?

Content-ID: 347476

Url: https://administrator.de/forum/zielordner-automatisch-auswaehlen-lassen-347476.html

Ausgedruckt am: 12.04.2025 um 01:04 Uhr

SeriousEE
SeriousEE 28.08.2017 um 13:23:08 Uhr
Goto Top
Hallo,

mein Favorit hierfür ist Powershell
$folder = "C:\temp"  
$files = get-childitem $folder
foreach ($file in $files) {
   $creationdate = $file.CreationTime
   $month = Get-Date $creationdate -Format "MMMM"  
   Write-Host "$($file.Name ) created in $month"  
}

Man müsste nur mehr mit Move-Item die Dateien verschieben in ein Zielverzeichnis.

Viele Grüße
SeriousEE
daniel011
daniel011 28.08.2017 um 13:58:53 Uhr
Goto Top
Hallo,

vielen Dank für die Antwort.

ich bin, was Batch Dateien anngeht noch ziemlicher Anfänger.

Ich dachte eher daran, Befehle wie xcopy oder robocopy so zu erweitern, dass ein Zielordner automatisch ausgewählt wird.

Zu oben stehendem Lösungsvorschlag:
Kann mir jemand erklären, was die einzelnen Befehle bedeuten bzw. was da passiert?
133883
133883 28.08.2017 um 16:17:14 Uhr
Goto Top
Man man man diese Fragen kommen am Tag mindestens einmal, also Suchfunktion benutzen!
$quelle = 'c:\quelle'  
$ziel = 'c:\ziel'  
gci $quelle -File | group {$_.CreationTime.toString('MMMM')} | %{  
    $t = "$ziel\$($_.Name)"  
    if(!(Test-Path $t)){md $t | out-null}
    $_.Group | move-item -destination $t -Force
}
Gruß