Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
File batch per copiare documenti in base al nome
#1
buongiorno a tutti,
sono nuovo del forum e chiedo il vostro aiuto per la creazione di un file batch che mi renda automatica la seguente operazione.

Ho molte cartelle in windows 10 nelle quali sono presenti tantissimi pdf relativi a progetti e di ognuno ho molte revisioni. Avrei bisogno di conservare soltanto l'ultima di ogni file, magari copiandola in una cartella specifica. ES: 2 file, dal nome "pippo" e "pluto" ma pippo con 2 revisioni e pluto con 3, segnate con la codifica"pippo-Rev0","pippo-RevA","pippo-RevB"e
"pluto-Rev0"-"pluto-RevA". Dovrei quindi creare un programma che legga il nome file e quando trova il file medesimo ma con lettera di revisione maggiore, lo copi in una specifica cartella.
Quindi partendo da 100 file ognuno con 5 revisioni, quindi 500 file all'interno della cartella, vorrei arrivare a conservare solo gli ultimi 100.
E' possibile e conveniente utilizzare un file.bat per fare delle operazioni simili oppure ci sono strade migliori? Nel caso sia possibile è semplice scrivere il relativo codice e qualcuno è in grado di farmi un esempio?
Vi ringrazio.
Cita messaggio
Grazie da:
#2
Ciao
Secondo me sarebbe più semplice lavorare sulla data con un programma come FreeFileSync
Chi sa capire tutto è molto infelice (Maksim Gor'kij)
[Immagine: http://www.istitutomajorana.it/forum2/at...p?aid=7740]
Cita messaggio
Grazie da:
#3
si può fare con una macro con excel, ma mi occorrerebbe una cartella zippata con dei file di esempio (possibilmente piccoli) per testarla
la revisione è data dall'ultimo carattere ?
Cita messaggio
Grazie da: fabio-kht , fabio-kht
#4
l'idea della macro su excel mi sembra ottima. Ti ho allegato la cartella con pochi file vuoti di esempio.
La revisione non è l'ultimo carattere ma funziona così  es:

536110-Rev0-documenti-per-spiegare
I primi tre numeri sono fissi(536 nell'esempio) e sono relativi ad un progetto medesimo. I successivi tre numeri (110 nell'esempio) identificano il file nello specifico, poi segue la revisione scritta in tale formato. La prima lettera è la "0"(zero), successivamente le lettere italiane in ordine alfabetico. Poi segue la descrizione di cosa racchiude lo specifico file. Dalla cartella dovresti capire meglio.
Ho inserito solo 3 file, ognuno con poche revisioni.
Se riuscissi a darmi un'idea concreta di come muovermi mi faresti un enorme favore.
Per ora ti ringrazio


Allegati
.zip   cartellaXmacro.zip (Dimensione: 30,4 KB / Download: 2)
Cita messaggio
Grazie da:
#5
prova questa macro
Codice:
Sub copylistfile()
oldpath = "F:\download\prova\" ' <<<<<<< da cambiare
newpath = "F:\download\test\" ' <<<<<<< da cambiare
fn = Dir(oldpath)
r = 1
Do While fn <> ""
 Cells(r, 1) = fn
 r = r + 1
 fn = Dir
Loop
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add Key:=Range("A1"), _
       SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
       xlSortTextAsNumbers
With ActiveSheet.Sort
       .SetRange Range("A1:A" & r - 1)
       .Header = xlNo
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
End With
Cells(r, 1) = "----------------"
dr = 1
For rr = 1 To r - 1
 If Left(Cells(rr, 1), 6) <> Left(Cells(rr + 1, 1), 6) Then
   Cells(dr, 3) = Cells(rr, 1)
   dr = dr + 1
 End If
Next
For r = 1 To dr - 1
    FileCopy oldpath & Cells(r, 3), newpath & Cells(r, 3)
Next
End Sub
Cita messaggio
Grazie da: fabio-kht
#6
Ti ringrazio enormemente. Funziona alla grande e mi ha dato una gran mano!!!E' fantastico....Grazie ancora!
Cita messaggio
Grazie da:
#7
bene, puoi mettere Risolto nel titolo del primo post ?
Cita messaggio
Grazie da:


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)