View Full Version : Creazione cartelle e copia file
Ciao a tutti, ho una necessità in windows, devo creare varie cartelle (tutte con lo stesso nome) all'interno di varie cartelle già esistenti (qualche centinaio) e vorrei evitare di fare un MD per ciascuna... esempio pratico:
Ho le cartelle
1
2
3
4
5
6
7
8
9
In ciascuna devo creare una cartella che si chiama "2015" e spostare i file che sono presenti in quest nuova cartella 2015
Ora se fosse una cartella sola ci metterei un minuto, ma si parla di qualche centinaia di cartelle se non migliaia... chi mi aiuta???
ciao e grazie!!
le cartelle si chiamano 1 2 3 4 5 6 7 eccetera?
rem questo crea sette cartelle numerate da 1 a 7 con dentro una cartella chiamata 2015
for /L %%g in (1,1,7) do (md %%g\2015)
ovviamente se le cartelle da 1 a 7 ci sono già crea la cartella 2015 dentro ad esse
Intanto grazie per la risposta!
No le cartelle non si chiamano così, sono tutte nomi di località impianti o codici (a 5 cifre) identificativi dell'impianto... posso eventualmente di quello fare una lista.
L'ideale sarebbe dire: per ciascuna cartella esistente, crea li dentro una 2015!
x_Master_x
13-10-2015, 14:33
L'ideale sarebbe dire: per ciascuna cartella esistente, crea li dentro una 2015!
Se posizioni il batch all'interno della cartella principale puoi usare:
: x _Master_x
@ECHO OFF
FOR /d %%a in (*) do MKDIR "%%a\2015"
PAUSE
Oppure se vuoi specificare un percorso usi:
FOR /d %%a in ("C:\Percorso\Cartella\*") do MKDIR "%%a\2015"
...questo è perfetto!!! (fatto il bat e posizionato nella cartella principale)
Se ora voglio copiare i file che ho dentro alle singole cartelle nella propria cartella 2015 appena creata riesco in qualche maniera?
Intanto grazie per la risposta!
No le cartelle non si chiamano così, sono tutte nomi di località impianti o codici (a 5 cifre) identificativi dell'impianto... posso eventualmente di quello fare una lista.
L'ideale sarebbe dire: per ciascuna cartella esistente, crea li dentro una 2015!
il principio è lo stesso si usa un ciclo for come ti ha fatto vedere x_Master_x utilizzando un file di testo con estensione .bat posizionandolo nella cartella principale
il suo codice che usa il parametro /D funziona con in nome delle directory
FOR /D %variabile IN (gruppo) DO comando [parametri-comando]
Se il parametro gruppo contiene caratteri jolly, per la corrispondenza
verranno utilizzati nomi di directory anziché nomi di file.
quello che ti ho messo io funziona con (inizio,incremento,fine)
FOR /L %variabile IN (inizio,incremento,fine) DO comando [parametri-comando]
In questo caso il parametro gruppo è una sequenza di numeri compresi
tra inizio e fine, con incrementi pari a incremento.
come nel classico for next del basic
FOR i = 1 TO 10 step 1
NEXT
ho provato questo
FOR /d %%a in (*) do move "%%a\*.*" "%%a\2015"
funziona senza problemi!
Ragazzi grandissimi e grazie veramente, sia della soluzione che spiegazione!!!
ho provato questo
FOR /d %%a in (*) do move "%%a\*.*" "%%a\2015"
funziona senza problemi!
Ragazzi grandissimi e grazie veramente, sia della soluzione che spiegazione!!!
ecco bravo stavo per chiederti se volevi copiare o muovere i file nella cartella 2015
comunque hai capito il principio :D
Ciao a tutti riprendo questo vecchio thread dato che si parla sempre dello stesso argomento... Avrei bisogno di aiuto per completare quanto fatto con gli scorsi preziosi aiuti!
Ho un elenco di cartelle che sono strutturate così:
--A
--2015
--2016
--2017
--B
--2015
--2016
--2017
Con questo comando
FOR /d %%a in (*) do move "%%a\2017\*.pdf" "%%a"
sposto tutti i file dalle varie cartelle 2017 nelle relative A e B, a seguito devo però eliminare le cartelle 2015, 2016 e 2017 da tutte le varie A e B... come faccio?
Ho provato qualche RMDIR /S /Q "%%a\201*" ma non mi ricordo più la sintassi corretta... le cartelle 2011, 2012 e via andare sono tutte piene di files!
Grazie in anticipo!
...ho risolto con un poco elegante comando in aggiunta al batch di prima, mi interessa però una soluzione migliore :D :D :D
FOR /D %%i IN (*) DO RD /S /Q "%%i\2011" DEL /Q "%%a"
FOR /D %%i IN (*) DO RD /S /Q "%%i\2012" DEL /Q "%%a"
FOR /D %%i IN (*) DO RD /S /Q "%%i\2013" DEL /Q "%%a"
FOR /D %%i IN (*) DO RD /S /Q "%%i\2014" DEL /Q "%%a"
FOR /D %%i IN (*) DO RD /S /Q "%%i\2015" DEL /Q "%%a"
FOR /D %%i IN (*) DO RD /S /Q "%%i\2016" DEL /Q "%%a"
FOR /D %%i IN (*) DO RD /S /Q "%%i\2017" DEL /Q "%%a"
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.