Precisa mover muitos arquivos nomeados de forma consistente para determinadas pastas (Windows 7)

0

Eu preciso preencher um monte de pastas com arquivos de vários tipos. A estrutura da pasta de destino é a seguinte

ANO > COMMITTEE_NAME YEAR > ANO MÊS COMMITTEE_NAME

EX: 2015 > ADP 2015 > ADP 2015 de janeiro

Os arquivos a serem movidos estão em pastas por comitê (MOM, ADP, etc). Eu tenho que organizar primeiro por ano, depois por comissão, depois por mês.

Cada pasta contém arquivos de vários tipos nomeados pela data e pelo comitê (Ex: Um documento do Word da reunião da ADP de 22 de janeiro de 2015 seria "012215ADP.doc").

Eu gostaria de de alguma forma automatizar o preenchimento dessas pastas, pois há centenas, se não milhares, de arquivos para serem movidos. Minha única experiência em programação está no MATLAB, no qual sou proficiente, mas não posso usar devido a regras corporativas. Eu sei como executar e modificar arquivos .bat, mas não sei o suficiente para fazê-los.

    
por Ben Zelkin 19.06.2015 / 21:54

1 resposta

0

Isso só pode ser feito com um script de shell de energia e uma expressão regular.

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] }

Agora, sou um cara do Linux e não tenho tempo para falsificar isso mais, mas os espaços em seu nome e o fato que você deseja

01 -> January

Vai complicar as coisas; você precisa citar argumentos e escapar dos outros (e nesta plataforma eu não sei como) Se você não está comprometido com essa estrutura, você pode fazer uma estrutura de diretórios como esta bem fácil:

15/ADP/01/1501ADP.doc

Os grupos de captura são

  1. nome do arquivo $ matches [0]
  2. mês $ matches [1]
  3. dia $ matches [2]
  4. ano $ correspondências [3]
  5. group $ matches [4]

Melhor que eu posso te dar por agora. Você pode precisar instalar o powershell no windows 7.1

    
por 20.06.2015 / 00:04