Benötigt Windows-Skript zum Erstellen von Ordnern mit Dateinamen und zum Verschieben von Dateien in den entsprechenden Ordner

0

Ich brauche ein CMD- oder Powershell-Skript oder eine Batch-Datei, um

  • schritt durch eine liste von dateien
  • Erstellen Sie einen Ordner mit dem Datum einer Datei, falls es ihn noch nicht gibt
  • Verschieben Sie diese Datei in den entsprechenden Ordner.

Ich habe eine Liste von etwa 400 Dateien wie folgt:

Bildbeschreibung hier eingeben

Anhand dieses Beispiels sollte das Skript einen Ordner erstellen, der die beiden obersten aufgerufenen Dateien enthält 2018-05-16, einen Ordner mit den drei nächsten aufgerufenen Dateien 2018-05-17usw. Vorzugsweise in demselben Ordner, in dem sich die Dateien jetzt befinden.

Ich bin auf Windows 8, wenn das einen Unterschied macht.

Gerlof Leuhof
quelle

Antworten:

1

Beispielverzeichnis vor

> gci

    Verzeichnis: A:\

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2018-05-16     16:02             14 GOPR0150.MP4
-a----       2018-05-16     16:10             14 GOPR0151.MP4
-a----       2018-05-17     01:25             14 GOPR0152.MP4
-a----       2018-05-17     01:32             14 GOPR0153.MP4
-a----       2018-05-17     01:32             14 GOPR0154.MP4

Ausführen dieses kleinen PowerShell-Skripts

## Q:\Test\2018\09\06\SU_1355955.ps
ForEach($File in (Get-ChildItem '.\GOPR*.mp4')){
    $DestFolder = Join-Path $File.DirectoryName $File.LastWriteTime.ToString('yyyy-MM-dd')
    if (!(Test-Path $DestFolder)){MD $DestFolder|Out-Null}
    $File | Move-Item -Destination $DestFolder
}

> gci -recurse -file

    Verzeichnis: A:\2018-05-16

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2018-05-16     16:02             14 GOPR0150.MP4
-a----       2018-05-16     16:10             14 GOPR0151.MP4

    Verzeichnis: A:\2018-05-17

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2018-05-17     01:25             14 GOPR0152.MP4
-a----       2018-05-17     01:32             14 GOPR0153.MP4
-a----       2018-05-17     01:32             14 GOPR0154.MP4

Bearbeiten: Abhängig von Ihrem lokalen Datumsformat müssen Sie möglicherweise auf
ändern.ToString('yyyy\-MM\-dd')

LotPings
quelle