Excel și comenzile MS-DOS

E un altfel de „truc”, mai ciudat, dar care ar putea folosi (la un moment dat). Sau ar putea fi un punct de pornire pentru alte idei mai bune decât exemplul de mai jos.

Presupunem că, pe baza unui fișier șablon (cu orice extensie), trebuie create alte N fișiere, iar fiecare fișier nou creat să aibă de fiecare dată un alt nume.

Dacă numărul fișiere este destul de mic, acest lucru se poate face și manual.

Dar când numărul lor este mare, se poate face un fișier .bat, care automatizează procesul.

În fișierul .bat se poate folosi comanda xcopy din MS-DOS, care are forma:

xcopy fisier-sursa fisier-destinatie.xlsx

sau, pentru a copia un fișier dintr-un folder sursă în alt folder-destinație:

xcopy folder-sursa\fisier-sursa folder-destinatie\fisier-cu-alt-nume.xlsx

Comanda xcopy poate copia fișiere și directoare, inclusiv subdirectoare dintr-o locație în alta. În aceeași comandă se pot și redenumi noile directoare/fișiere. Detalii în engleză, pe https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/xcopy

În acest exemplu, comanda trebuie repetată de câte ori este nevoie, de fiecare dată fișierul nou creat având alt nume (și, eventual alt folder-destinație).

Notă: Pentru a indica faptul că dorim să copiem fișierul sursă, la finalul comenzii se pune un asterisc (*). Dacă nu se folosește asteriscul, Windows va afișa de fiecare dată întrebarea dacă fișierul trebuie copiat și redenumit (F = file) sau dacă trebuie să fie creat un alt director în care va fi copiat fișierul model, care își va păstra numele (D = directory).

În cazul în care numele sursei și/sau destinației conțin și spații, numele lor trebuie pus între ghilimele.

Excel ne poate ușura sarcina de a scrie de fiecare dată comanda, în care să modificăm numele fișierului nou creat.

În imaginea de mai jos, în celula A3, avem calea și numele fișierului sursă, iar în coloana C, numele noului fișier. În celula E3 am folosit o formulă pentru a scrie comanda MS-DOS pentru prima fișă, apoi am multiplicat-o, pentru celelalte N fișe.

Formula din E3 concatenează text și valorile din A3 (referință absolută) și C3 (referință relativă):

="xcopy "&$A$3&" "&""""&C3&".xlsx*"&""""

Apoi, celulele cu formule din coloana E se copie într-un fișier text (deschis cu Notepad sau alt editor de text). Fișierul text va fi salvat cu extensia .bat.

Fișierul Excel poate fi păstrat ca și șablon în care se modifică doar numele fișierelor sursă și destinație.