Curățarea partajarea de fișiere foldere vechi fișier - Administrare LAN

Conducerea restaurantului nostru în fața mea era o sarcină pentru schimbul de curățare periodică a fișierelor mai vechi de trei zile.

Noi determinăm structura directoarelor de partajare. Să presupunem, partajarea de fișiere este pe un server pe calea d: \ obmen. În consola de sistem, executați comanda:

chcp 866 dir / B d: \ obmen> d: \ obmen-866.txt
chcp 1251 dir / B d: \ obmen> d: \ obmen-1251.txt

La rădăcina unității D: \, fișierele: obmen-866.txt și obmen-1251.txt cu structura de directoare. Datorită faptului că consola funcționează în codare DOS (OEM-866), pentru a rula fișierul batch va avea nevoie de obmen-866.txt fișier. Al doilea fișier - obmen-1251.txt în codificare 1251 folositoare în viitor, pentru o mai confortabil foldere de partajare structura dressing.

Din fișierul script obmen-866.txt va citi necesare pentru nume de dosar. Pentru buna funcționare a script fiecare rând obmen-866.txt fișier trebuie să fie însoțită de citate pereche.

Pentru a automatiza această operație, efectuați următoarele:

1. În Notepad ++ lista deschisă;
2. Efectuează o căutare (Ctrl + F), tab-ul "Change";
3. Selectați modul de căutare - Avansat;
4. În câmpul Căutare, introduceți: \ r \ n, în Înlocuiți cu caseta introduce: "\ r \ n"
5. Făcând clic pe „Înlocuiește tot.“
6. Pune o apostrof la începutul listei, și scoateți la capăt.

Deci, obmen-866.txt fișier în formatul corect pentru script gata. Rămâne de a scrie script-ul în sine. Dacă te uiți la secțiunea site-ului meu Scripturi (BAT, CMD). veți vedea că cele mai multe dintre script-urile se bazează pe pregătirea standard care permite să lucreze într-o buclă cu variabile. Încă o dată, să profite de această metodă.

Deci, script-ul în sine, o numim, de exemplu, clean_obmen.bat:

rem Clean dosar Obmen
@echo off
rem chcp 866> NUL schimba codarea fontului din consolă
chcp 866> NUL
rem cd / D „%

DP0 „schimbă directorul activ la calea de a lansa BAT-fișier
cd / D „%

DP0 "
set listfile = obmen_866.txt
pentru / f "usebackq delims =" %% i în (% listfile%) repun: Procedura %% i
ieșire
: Procedura
rem Color 0B font color consola schimbare de culoare albastru deschis
Culoare 0B
@echo ===========================================
@ Echo%

1
@echo Ștergerea fișierelor în folderul%

1 "/ s / m *. * / D -3 / c" cmd / c dacă @ isdir == FALSE del / q / @file f "
ieșire / b

Aș dori să rețineți următoarele:

DP0 „schimbă directorul activ la calea de script-ul începe. Fără această linie, script-ul nu se execută în Scheduler, deoarece nu va găsi fișierul script.

Ciclul este organizat în această linie:

pentru / f "usebackq delims =" %% i în (% listfile%) repun: Procedura %% i

PENTRU comandă este dată o listă de comenzi care sunt executate cu fiecare element al setului.

Set scris in interiorul IN (.)

Lista echipei este scris în interiorul DO (.)

Prompt comandă execută aceste comenzi de peste si peste din nou, cu elementul curent este setat în variabila specificată după %%.

Aici vom folosi FOR comanda cu tasta / F pentru analiza progresivă obmen-866.txt fișier.

String este orice secvență de caractere, în cazul în care acesta nu conține măști sau caractere *.

UseBackQ (Utilizați înapoi citate) înseamnă că un set de ghilimele duble.

delims = înseamnă că toate %% variabila i linia (fără separarea spațiilor sau file vor fi înregistrate, ca separator standard, se înlocuiește cu NULL (caractere martor).

Și, în sfârșit, în tratamentele linia corpului:

forfiles.exe / p „D: \ Obmen \%

1 "/ s / m *. * / D -3 / c" cmd / c dacă @ isdir == FALSE del / q / @file f "

șterge fișierele mai vechi de trei zile.

Echipa FORFILES second-hand. în cazul în care:

1 „- calea către directorul.

1 - linia de fișier obmen-866.txt. Și, să nu fie afișate se citează „“ Noi folosim modificatorul

. / M * * - un model pentru a căuta toate fișierele;

/ D -3 - căutare pentru fișiere cu modificarea datei de peste trei zile;

/ C - comanda;

"Cmd / c dacă @ isdir == FALSE del / q / f @file" - echipă;

dacă @ isdir == FALSE - în cazul în care nu directorul, care este de a căuta numai fișiere;

del / q / f @file - șterge fișierele.

Puteți fi realizată în linie de comandă FORFILES / pentru mai multe detalii despre taste de comandă?.

Astfel, se creează fișierul batch. Rămâne să-l adăugați la programatorul și verificarea funcționării.