View Full Version : Aiuto creazione file batch
luca9333
15-10-2015, 13:57
Ciao a tutti,dovrei creare un file batch per il mio archivio webcam. In poche parole dovrebbe prendere i file immagine di ogni giorno (ora ho 45.000 foto tutte mischiate) e spostarli dentro ad una cartella (che abbia come nome la data del file). è fattibile?
x_Master_x
15-10-2015, 15:38
Non lo farò tutto. Questo batch da una cartella estrae i percorsi dei file e il nome della cartella da creare ( cioè la data di creazione )
: x_Master_x
@ECHO OFF
SetLocal EnableDelayedExpansion
For /f "delims=*" %%a in ('dir /b/tc/a-d "X:\Percorso\Cartella"') Do (
SET creationdate=%%~ta
SET mm=!creationdate:~3,2!
SET dd=!creationdate:~0,2!
SET yyyy=!creationdate:~6,4!
SET foldername=!dd!-!mm!-!yyyy!
MKDIR "X:\Percorso\Cartella\Destinazione\!foldername!"
MOVE "%%~fa" "X:\Percorso\Cartella\Destinazione\!foldername!"
)
PAUSE
Il resto lo lascio a te. Puoi posizionare il batch nella stessa cartella in cui ci sono i file da spostare.
P.S. In firma c'è un programma che potrebbe esserti utile per organizzare i tuoi file, Old Files Manager
luca9333
15-10-2015, 18:47
Non lo farò tutto. Questo batch da una cartella estrae i percorsi dei file e il nome della cartella da creare ( cioè la data di creazione )
: x_Master:x
@ECHO OFF
SetLocal EnableDelayedExpansion
For /f "delims=*" %%a in ('dir /b/tc/a-d "X:\Percorso\Cartella"') Do (
SET creationdate=%%~ta
SET mm=!creationdate:~3,2!
SET dd=!creationdate:~0,2!
SET yyyy=!creationdate:~6,4!
SET foldername=!dd!-!mm!-!yyyy!
ECHO PERCORSO: %%~fa NOME CARTELLA: !foldername!
)
PAUSE
Il resto lo lascio a te.
P.S. In firma c'è un programma che potrebbe esserti utile per organizzare i tuoi file, Old Files Manager
Grazie mille, stasera ci provo
luca9333
16-10-2015, 09:41
Non lo farò tutto. Questo batch da una cartella estrae i percorsi dei file e il nome della cartella da creare ( cioè la data di creazione )
: x_Master:x
@ECHO OFF
SetLocal EnableDelayedExpansion
For /f "delims=*" %%a in ('dir /b/tc/a-d "X:\Percorso\Cartella"') Do (
SET creationdate=%%~ta
SET mm=!creationdate:~3,2!
SET dd=!creationdate:~0,2!
SET yyyy=!creationdate:~6,4!
SET foldername=!dd!-!mm!-!yyyy!
ECHO PERCORSO: %%~fa NOME CARTELLA: !foldername!
)
PAUSE
Il resto lo lascio a te.
P.S. In firma c'è un programma che potrebbe esserti utile per organizzare i tuoi file, Old Files Manager
Ho provato a modificarlo così ma non mi sposta i file dentro alla cartella con data...
@ECHO OFF
SetLocal EnableDelayedExpansion
For /f "delims=*" %%a in ('dir /b/tc/a-d "C:\Users\Luca\Documents\prova"') Do (
SET creationdate=%%~ta
SET mm=!creationdate:~3,2!
SET dd=!creationdate:~0,2!
SET yyyy=!creationdate:~6,4!
SET foldername=!dd!-!mm!-!yyyy!
ECHO PERCORSO: %%~fa NOME CARTELLA: !foldername!
move C:\Users\Luca\Documents\prova*.* C:\Users\Luca\Documents\prova\!dd!-!mm!-!yyyy!
)
PAUSE
x_Master_x
16-10-2015, 10:01
Hai intenzione di quotare lo stesso messaggio per tutto il thread? :D
Per prima cosa, devi prima creare la cartella di destinazione ( mi riferisco ovviamente alla data ) con MKDIR
In secondo luogo, hai già il percorso dei file ( cioè "%%~fa", l'hai visto l'ECHO? ) da usare con MOVE e non hai bisogno di quella directory con *.*
luca9333
16-10-2015, 12:22
Hai intenzione di quotare lo stesso messaggio per tutto il thread? :D
Per prima cosa, devi prima creare la cartella di destinazione ( mi riferisco ovviamente alla data ) con MKDIR
In secondo luogo, hai già il percorso dei file ( cioè "%%~fa", l'hai visto l'ECHO? ) da usare con MOVE e non hai bisogno di quella directory con *.*
Dai ora cambio quote :D :D non ci capisco veramente nulla:doh: ... MKDIR sarebbe il comando che crea la cartella,ma come faccio a far copiare dentro a questa cartella i file?
x_Master_x
16-10-2015, 12:50
Ho capito, pappa pronta. Editato il post #2
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.