Siamo in ufficio e ogni giorno ci sono decine di mail, rapportini di lavoro, documenti vari da archiviare. La procedura vuole che stiano in cartelle separate a seconda del nome del file che identifica il cliente, o il lavoro, per cui sono stati creati. Anche a casa potremmo voler raccogliere immagini, mp3 o le ricette di cucina in cartelle separate e distinte tra di loro. Pensate di dover creare cento cartelle e spostarci dentro cento file, tutto questo richiede del tempo che non vogliamo sprecare, così se potessimo automatizzare il tutto non sarebbe meglio?
Grazie a Zigul, e all’AI Perplexity, si può fare, per mezzo di un paio di file di comandi, che trovate in allegato all’articolo, si può spostare il contenuto di una cartella Sorgente
all’interno di una cartella Destinazione
, creando una nuova cartella, in Destinazione, a seconda del nome del file presente in Sorgente.
I nomi delle cartelle, Sorgente e Destinazione, potete sceglierli voi come volete, ho deciso questi perché siano molto chiari, la cosa importante è che poi li modifichiate nei file di comandi che abbiamo allegato all’articolo.
Ci raccomandiamo solo di fare qualche test prima di utilizzare in produzione questi file di comandi, create due cartelle di test, copiate qualche file di prova e vedete se il tutto si adatta al vostro tipo di lavoro.
Ipotizziamo di avere una cartella Sorgente che contiene alcuni file con lo stesso nome ma estensione diversa.
Dopo aver utilizzato il file di comandi, la cartella destinazione avrebbe questa forma, con i file che hanno lo stesso nome che ora si trovano all’interno della stessa cartella.
Il risultato finale non cambierebbe anche se tutti i file avessero nomi diversi, trovereste tante cartelle dal nome diverso con all’interno un singolo file.
Lo scenario precedente prevedeva che all’interno della cartella Sorgente ci fossero solo dei file, ora pensiamo invece che ci siano anche delle cartelle, magari con lo stesso nome di uno dei file di Sorgente.
Dopo aver utilizzato il file di comandi troveremmo tutto all’interno della cartella Destinazione. Succederebbe lo stesso se file e cartelle avessero nomi diversi, ci sarebbero solo più cartelle in Destinazione.
Per lo spostamento di singoli file dalla cartella Sorgente va utilizzato il file Sposta_Solo_File.cmd
. Ovviamente d:\sorgente e e:\destinazione vanno cambiati e inseriti i percorsi e i nomi cartella che volete utilizzare voi.
@echo off
setlocal enabledelayedexpansion
set "sourceFolder=d:\sorgente"
set "destinationFolder=e:\destinazione"
for %%F in ("%sourceFolder%\*.*") do (
set "fileName=%%~nF"
set "newFolder=!destinationFolder!\!fileName!"
md "!newFolder!" 2>nul
move "%%F" "!newFolder!\%%~nxF"
)
Endlocal
In caso di spostamento di file e cartelle, presenti in Sorgente, bisogna utilizzare il file Sposta_File_E_Cartelle.cmd
. Anche qui i percorsi vanno modificati a piacimento.
@echo off
setlocal enabledelayedexpansion
set "sourceFolder=d:\sorgente"
set "destinationFolder=e:\destinazione"
for /d %%i in ("%sourceFolder%\*") do (
robocopy "%%i" "%destinationFolder%\%%~nxi" /e
rmdir "%%i" /s /q
)
for %%F in ("%sourceFolder%\*.*") do (
set "fileName=%%~nF"
set "newFolder=!destinationFolder!\!fileName!"
md "!newFolder!" 2>nul
move "%%F" "!newFolder!\%%~nxF"
)
endlocal