|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Italia (SO)
Messaggi: 2528
|
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!! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2008
Messaggi: 6596
|
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
__________________
Il Ragazzo con la giardinetta CIAO 2021 Una canzone d'amore (cover Tommy Johansson) Ultima modifica di Unax : 13-10-2015 alle 11:17. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Italia (SO)
Messaggi: 2528
|
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!
__________________
No firma, ormai sono vecchio... |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2005
Messaggi: 8699
|
Quote:
Codice:
: x _Master_x @ECHO OFF FOR /d %%a in (*) do MKDIR "%%a\2015" PAUSE Codice:
FOR /d %%a in ("C:\Percorso\Cartella\*") do MKDIR "%%a\2015"
__________________
. Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock The real me is no match for the legend . |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Italia (SO)
Messaggi: 2528
|
...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?
__________________
No firma, ormai sono vecchio... |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2008
Messaggi: 6596
|
Quote:
il suo codice che usa il parametro /D funziona con in nome delle directory Codice:
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) Codice:
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 |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Italia (SO)
Messaggi: 2528
|
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!!!
__________________
No firma, ormai sono vecchio... |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Oct 2008
Messaggi: 6596
|
Quote:
comunque hai capito il principio |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Italia (SO)
Messaggi: 2528
|
post doppio scusate...
__________________
No firma, ormai sono vecchio... Ultima modifica di DjConti : 12-07-2017 alle 15:49. |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Italia (SO)
Messaggi: 2528
|
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!
__________________
No firma, ormai sono vecchio... |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Italia (SO)
Messaggi: 2528
|
...ho risolto con un poco elegante comando in aggiunta al batch di prima, mi interessa però una soluzione migliore
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"
__________________
No firma, ormai sono vecchio... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:50.




















