Musisz przenieść wiele plików o stałej nazwie do niektórych folderów (Windows 7)

0

Muszę zapełnić kilka folderów plikami różnych typów. Struktura folderów docelowych jest następująca

ROK> COMMITTEE_NAME ROK> ROK MIESIĄC COMMITTEE_NAME

EX: 2015> ADP 2015> 2015 styczeń ADP

Pliki do przeniesienia znajdują się w folderach według komitetów (MOM, ADP itp.). Muszę organizować najpierw rok, potem komitet, potem miesiąc.

Każdy folder zawiera pliki różnych typów, nazwane według daty i komitetu (np. Dokument Word ze spotkania ADP w dniu 22 stycznia 2015 r. Miałby postać „012215ADP.doc”).

Chciałbym w jakiś sposób zautomatyzować zapełnianie tych folderów, ponieważ istnieją setki, jeśli nie tysiące plików do przeniesienia. Moje jedyne doświadczenie w programowaniu to MATLAB, w którym jestem biegły, ale nie wolno mi go używać z powodu reguł korporacyjnych. Wiem, jak wykonywać i modyfikować pliki .bat, ale nie wiem wystarczająco dużo, aby je tworzyć.

Ben Zelkin
źródło
Niezbyt dobry przypadek korzystania z pakietu Windows. Lepiej byłoby użyć dedykowanego narzędzia do zmiany nazwy, takiego jak „Advanced Renamer” lub PowerShell, lub może host skryptów systemu Windows. Czy możesz zainstalować aplikacje lub zainstalować je przez IT? Byłby to najprostszy i najbardziej niezawodny sposób bez konieczności nauki nowego języka komputerowego.
Julian Knight

Odpowiedzi:

0

Można to zrobić tylko za pomocą skryptu powłoki zasilania i wyrażenia regularnego.

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

Teraz jestem facetem z Linuksa i nie mam czasu, aby to więcej kręcić, ale spacje w twoim imieniu i fakt, że chcesz

01 -> styczeń

Komplikuje rzeczy; musisz zacytować argumenty i uciec przed innymi (i na tej platformie nie jestem pewien, jak to zrobić) Jeśli nie jesteś przywiązany do tej struktury, możesz zrobić strukturę katalogów taką jak ta:

15 / ADP / 01 / 1501ADP.doc

Grupy przechwytywania są

  1. nazwa pliku $ dopasowania [0]
  2. mecze $ $ [1]
  3. mecze $ $ [2]
  4. mecze $ $ [3]
  5. grupa $ mecze [4]

Najlepsze, co mogę ci teraz dać. Może być konieczne zainstalowanie programu PowerShell w systemie Windows 7.1

Christian Bongiorno
źródło