lunedì 18 febbraio 2013

Ordinare il Contenuto di una Cartella tramite un File .BAT

Quando il contenuto di una cartella diventa confuso e disordinato, accogliendo file anche non eterogenei fra loro, non e` sempre immediato fare ordine. Lavorare manualmente in copia e incolla, creare nuove cartelle e andare a cercare all’interno di sottodirectory puo` richiedere una discreta quantita` di tempo prima che l’ordine desiderato sia accettabile.

Per ovviare a questo problema proponiamo due programmi in estensione .bat scritti da noi. Un file batch è un file di testo che contiene una sequenza di comandi per l'interprete di comandi del sistema, solitamente Command.com o Cmd.exe (fonte wikipedia.it).

Una volta creati ed eseguiti i file .bat proposti in questo articolo, Windows si assumera` l’onere di ordinare la directory selezionata in modo del tutto automatico; all’utente verra` unicamente richiesto l’inserimento di pochi parametri come ad esempio l’indirizzo di locazione della cartella.

Ecco come creare un file .bat nel modo piu` semplice possibile: scaricare un editor di testo come Notepad++; scrivere o incollare un codice all'interno dell'editor e salvare il file con nome come batch file.





Il primo codice proposto ha il compito di estrarre all’interno della cartella genitore impostata tutti i file presenti nelle sottodirectory. Appena questi saranno stati estratti, l'esecutore li ordinera` per estensione in macro cartelle (IMMAGINI, DOCUMENTI, VIDEO, PROGRAMMI, MUSICA). All’utente e` data la possibilita` di scegliere quanto ricorsivamente andare a scavare all’interno delle sotto cartelle.

[gallery columns="2" type="slideshow" ids="3502,3501"]

CODICE SORGENTE:
@echo off
set /p input= INSERISCI LA LETTERA DELL'UNITA' DI ARCHIVIAZIONE ALL'INTERNO DELLA QUALE SI TROVA LA DIRECTORY CHE VUOI RIORDINARE:
%INPUT%:
ECHO.
set /p indirizzo= COPIA QUI L'INDIRIZZO DELLA CARTELLA CHE VUOI RIORDINARE:
CD %INDIRIZZO%
ECHO.
set /p numero= SCRIVI IL NUMERO DI VOLTE CHE VUOI ESEGUIRE L'ESTRAZIONE, QUESTO PARAMETRO SERVE PER DETERMINARE QUANTO SI VUOLE SCAVARE RICORSIVAMENTE ALL'INTERNO DELLE SOTTODIRECTORY:
for /l %%v in (0,1,%numero%) do (
for /d %%i in (*) do (
xCOPY /j /s "%%i"
rd /s /q "%%i"
)
)
mkdir VIDEO
mkdir MUSICA
mkdir DOCUMENTI
mkDIR IMMAGINI
mkdir PROGRAMMI
Mkdir ARCHIVI
mkdir CODICI
move *.docx documenti
move *.txt documenti
move *.rtf documenti
move *.pdf documenti
move *.mp3 musica
move *.wmv video
move *.mp4 video
move *.avi video
move *.mkv video
move *.mpeg video
move *.mov video
move *.flv video
move *.mpg video
move *.png immagini
move *.jpg immagini
move *.jpeg immagini
move *.bmp immagini
move *.gif immagini
move *.exe programmi
move *.dmg programmi
move *.sh programmi
move *.rar archivi
move *.zip archivi
move *.c codici
move *.py codici
for /d %%i in (*) do (
rd "%%i"
)


Il secondo codice  si occupa della gestione delle raccolte: impostato un indirizzo e data una parola chiave, scelta dall’utente, verra` creata una cartella con lo stesso nome, all’interno della quale saranno copiati automaticamente tutti gli elementi che avranno in comune  il nome con la parola chiave. Successivamente verra` chiesto di rinominare la cartella creata, in modo da assegnarle qualunque titolo si preferisca. L’esecuzione del programma ha termine solo quando l'utente preme CTRL+C.

[gallery columns="2" type="slideshow" ids="3507,3506"]

CODICE SORGENTE:
@echo off
set /p input= INSERISCI LA LETTERA DELL'UNITA' DI ARCHIVIAZIONE ALL'INTERNO DELLA QUALE SI TROVA LA DIRECTORY CHE VUOI RIORDINARE:
%INPUT%:
ECHO.
set /p INDIRIZZO= COPIA QUI L'INDIRIZZO DELLA CARTELLA CHE VUOI ORDINARE:
CD %INDIRIZZO%
ECHO.
:riesegui
set /p CARTELLA= DETTA UNA PAROLA CHIAVE IN MODO CHE SIA COMUNE AI FILE CHE VUOI RAGGRUPPARE:
ECHO.
mkdir "%cartella%"
move *%cartella%* %cartella%
del *%cartella%*
ECHO.
set /p rinomina= ORA PUOI RINOMINARE LA SOTTODIRECTORY COME PREFERISCI:
ren %cartella% "%RINOMINA%"
ECHO SE NON VUOI RIESEGUIRE UN ALTRO PASSAGGIO DI RIORDINAMENTO PREMI CTRL+C
ECHO.
goto riesegui



In caso non vi fosse chiaro qualche dettaglio sull’utilizzo dei file batch, ma anche in caso necessitaste di un consiglio per la modifica del codice sorgente potete contattarci commentando l’articolo.

Nessun commento:

Posta un commento