Мне нужно заполнить кучу папок файлами разных типов. Структура папки назначения выглядит следующим образом

YEAR> COMMITTEE_NAME YEAR> YEAR MONTH COMMITTEE_NAME

EX: 2015> ADP 2015> Январь 2015 ADP

Файлы для перемещения находятся в папках по комитетам (MOM, ADP и т.д.). Я должен организовать сначала по годам, затем по комитетам, а затем по месяцам.

Каждая папка содержит файлы различных типов, названные датой и комитетом (напр., Документ Word с собрания ADP от 22 января 2015 г. будет «012215ADP.doc»).

Я хотел бы как-то автоматизировать заполнение этих папок, так как есть сотни, если не тысячи файлов для перемещения. Мой единственный опыт программирования - в MATLAB, которым я владею, но не могу использовать из-за корпоративных правил. Я знаю, как выполнять и изменять файлы .bat, но не знаю достаточно, чтобы сделать их.

1 ответ1

0

Это можно сделать только с помощью скрипта Power Shell и регулярного выражения.

PS C:\Users\bongioc> dir | where {$_ -match "(\d{2})(\d{2})(\d{2})([A-Z]{3}).*.doc"} | foreach {move $matches[0] $matches[3]\\$matches[4]\\$matches[1] }

Теперь, я парень из Linux, и у меня нет времени, чтобы выдумать это больше, но пробелы в вашем имени и тот факт, что вы хотите

01 -> января

Усложнит вещи; вам нужно цитировать аргументы и избегать других (и на этой платформе я не уверен, как) Если вы не привязаны к этой структуре, вы можете сделать структуру каталогов, как это достаточно просто:

15/ АДФ / 01 / 1501ADP.doc

Группы захвата

  1. имя файла $ соответствует [0]
  2. месяц $ соответствует [1]
  3. день $ матчей [2]
  4. год $ соответствует [3]
  5. группа $ соответствует [4]

Лучшее, что я могу дать тебе сейчас. Возможно, вам придется установить powershell на windows 7.1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .