|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: May 2008
Messaggi: 273
|
Dividere Cartella in più cartelle per grandezza.
Salve ragazzi ho la necessità di dividere una cartella in piu' cartelle: Cartella1,2,3etc mantenendo intatto i file all'interno e le sottocartelle.
ho questo semplice comando batch: Codice:
@echo off
setlocal enabledelayedexpansion
set folder=C:\Users\PIPPO\Desktop\OUT2\Test
set filecount=0
set foldercount=1
set maxfiles=10
for /F "tokens=*" %%G in ('dir "%folder%" /A: D /B') do (
set /A filecount+=1
set target=0000!foldercount!
set target=!target:~-5!
if not exist "%folder%\!target!" md "%folder%\!target!"
move "%folder%\%%G" "%folder%\!target!"
if [!filecount!]==[%maxfiles%] (
set /A foldercount+=1
set filecount=0
)
)
qualcuno può darmi una mano a convertire il comando con la scelta della grandezza delle cartelle e non dei files all'interno delle cartelle create..Grazie!!!
__________________
SCHEDA MADRE* ASROCK EXTREME4GEN3-PROCIO*I7 2600K 4.8GHZ SKVIDEO*GIGABYTE GTX 470 OVERCLOCK 1280MB RAM* 8GB G.SKILL 1866MHZ 10-10-10-27 2N ALIMENTATORE* CORSAIR GS 700 COOLING* NOCTUA D14 HD*SSD Corsair Force Series 3 120GB 2.5" Lettura 550MB/s Scrittura 510MB/s SATA3 CSSD W7X64BITEDIT:LE PAZZIE MI RIESCONO SEMPRE BENE.E' CON LE COSE NORMALI CHE HO QUALCHE DIFFICOLTA' |
|
|
|
|
#2 |
|
Member
Iscritto dal: May 2008
Messaggi: 273
|
Nessuno che sa darmi una mano, almeno nella possibilita' di scegliere la divisione in numero di cartelle???
__________________
SCHEDA MADRE* ASROCK EXTREME4GEN3-PROCIO*I7 2600K 4.8GHZ SKVIDEO*GIGABYTE GTX 470 OVERCLOCK 1280MB RAM* 8GB G.SKILL 1866MHZ 10-10-10-27 2N ALIMENTATORE* CORSAIR GS 700 COOLING* NOCTUA D14 HD*SSD Corsair Force Series 3 120GB 2.5" Lettura 550MB/s Scrittura 510MB/s SATA3 CSSD W7X64BITEDIT:LE PAZZIE MI RIESCONO SEMPRE BENE.E' CON LE COSE NORMALI CHE HO QUALCHE DIFFICOLTA' |
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
In pseudocodice:
Codice:
input(origine)
input(dest_base)
input(dim_cartella)
files = lista_file(origine)
dest = 0
cur_dir = dest_base + dest
cur_dim = 0
for (file in files) {
if (cur_dim > dim_cartella) {
dest = dest + 1
cur_dir = dest_base + dest
cur_dim = 0
}
if not exists(dest) {
mkdir(dest)
}
cur_dim = cur_dim + dimensione(file)
sposta(file, dest)
}
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: May 2008
Messaggi: 273
|
Quote:
Cavolo non ho mai avuto un mal di testa così forte
__________________
SCHEDA MADRE* ASROCK EXTREME4GEN3-PROCIO*I7 2600K 4.8GHZ SKVIDEO*GIGABYTE GTX 470 OVERCLOCK 1280MB RAM* 8GB G.SKILL 1866MHZ 10-10-10-27 2N ALIMENTATORE* CORSAIR GS 700 COOLING* NOCTUA D14 HD*SSD Corsair Force Series 3 120GB 2.5" Lettura 550MB/s Scrittura 510MB/s SATA3 CSSD W7X64BITEDIT:LE PAZZIE MI RIESCONO SEMPRE BENE.E' CON LE COSE NORMALI CHE HO QUALCHE DIFFICOLTA' |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: May 2008
Messaggi: 273
|
Bhe io scritto sta cosa qui seguendo il pseudocodice di Daniele, ma non funziona....
Codice:
@echo off
setlocal enabledelayedexpansion
set /p "folder="
set /p "outputfolder="
set /p "maxsize="
files = "%folder%"
dest = 0
cur_dir = %outputfolder% + %folder%
cur_dim = 0
FOR /F "tokens=*" %%G IN ('DIR a /b /d "%folder%"') DO ( {
if (cur_dim > %maxsize%) {
dest = dest + 1
cur_dir = %outputfolder% + %folder%
cur_dim = 0
}
if not exists('%folder%') {
mkdir('%outputfolder%')
}
cur_dim = cur_dim + dimensione('%maxsize%')
move "%inputfolder%\%%G" "%outputfolder%\dest"
}
wow... eppure, se non sbaglio, il forum è quello giusto...non penso di aver postato in un forum di "Nouvelle Cuisine"
__________________
SCHEDA MADRE* ASROCK EXTREME4GEN3-PROCIO*I7 2600K 4.8GHZ SKVIDEO*GIGABYTE GTX 470 OVERCLOCK 1280MB RAM* 8GB G.SKILL 1866MHZ 10-10-10-27 2N ALIMENTATORE* CORSAIR GS 700 COOLING* NOCTUA D14 HD*SSD Corsair Force Series 3 120GB 2.5" Lettura 550MB/s Scrittura 510MB/s SATA3 CSSD W7X64BITEDIT:LE PAZZIE MI RIESCONO SEMPRE BENE.E' CON LE COSE NORMALI CHE HO QUALCHE DIFFICOLTA' |
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jul 1999
Città: Black Mesa
Messaggi: 72457
|
Quote:
Domandare è lecito, rispondere è cortesia (cit.) CLOSED!! >bYeZ<
__________________
REGOLAMENTO & update1/update2 | IO C'ERO | Realme X3 SZ 12/256 - History | GTi is BACK
"Non sorridete.......gli spari sopra.....sono per VOI!" |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:30.










W7X64BIT
Cavolo non ho mai avuto un mal di testa così forte








