Нужен скрипт Windows для создания папок с именами файлов и перемещения файлов в соответствующую папку

339
Gerlof Leuhof

Мне нужен сценарий CMD или Powershell или командный файл для

  • просмотреть список файлов
  • сделать папку с именем файла, если он еще не существует, затем
  • переместите этот файл в соответствующую папку.

У меня есть список около 400 файлов, как это:

enter image description here

Используя это в качестве примера, сценарий должен создать папку, включающую два верхних названных файла 2018-05-16, папку с 3 последующими названными файлами 2018-05-17и т. Д. Предпочтительно в той же папке, что и файлы, расположенные сейчас.

Я на Windows 8, если это имеет значение.

0

1 ответ на вопрос

1
LotPings

Образец каталога до

> 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 

запустить этот небольшой скрипт PowerShell

## 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)) $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 

Изменить: в зависимости от вашего локального формата даты вам может потребоваться
изменить на.ToString('yyyy\-MM\-dd')