Precisa do script do Windows para criar pastas nomeadas com datas de arquivos e mover arquivos para a pasta correspondente

0

Eu preciso de um script CMD ou Powershell ou arquivo em lote para

  • percorra uma lista de arquivos
  • crie uma pasta com a data de um arquivo, se ainda não existir, então
  • mova esse arquivo para a pasta correspondente.

Eu tenho uma lista de cerca de 400 arquivos como este:

Usando isso como exemplo, o script deve criar uma pasta incluindo os dois primeiros arquivos chamados 2018-05-16 , uma pasta com os 3 próximos arquivos chamados 2018-05-17 etc. De preferência, na mesma pasta que os arquivos estão localizados agora.

Estou no Windows 8, se isso faz diferença.

    
por Gerlof Leuhof 06.09.2018 / 23:34

1 resposta

1

Diretório de amostra antes

> 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

executando este pequeno script do PowerShell

## Q:\Test18\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:18-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:18-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

Editar: dependendo do formato de data local, talvez seja necessário
mude para .ToString('yyyy\-MM\-dd')

    
por 07.09.2018 / 00:20