Un problema che non capisco...
Un pezzo di codice di un mio programma taglia i primi 8 caratteri di tutti i file contenuti in una cartella e in tutte le relative sottocartelle.
Premetto che tutti i file sono lunghi almeno 9 caratteri.
Lo stesso pezzo di codice funziona bene in altre sottocartelle.
Ma in una determinata sottocartella del mio albero... non esce più da quella sottocartella ricominciando dall'inizio della stessa sottocartella il taglio degli 8 caratteri... anche sui file già trattati... fino a che ovviamente il codice va in errore (i nomi dei file si accorciano sotto le 8 lettere).
questo è il pezzo di codice "incriminato"
---------
For Each f1 In fc
NomeAttuale = f1.Name
' NomeGiusto = NomeAttuale
NuovoNome = Radice & "\" & Decodice(NomeAttuale)
FileObject.MoveFile Radice & "\" & f1.Name, NuovoNome
DoEvents
Next
---------
La cosa assurda è che se commento la linea:
FileObject.MoveFile Radice & "\" & f1.Name, NuovoNome
il codice esegue le modifiche in modo corretto (ovviamente non modifica il nome del file, ma se stampo i risultati sono corretti e il codice si ferma al termine della scansione di tutti i file...)
Spero di essere stato chiaro.... aiutooo !!!
ps. la struttura del resto del codice è la stessa che utilizzo per un altro programma che aggiunge caratteri ai nomi dei file... e lì funziona tutto. L'unica cosa che ho cambiato fra un programma e l'altro è semplicemente la variabile nome, che invece che essere modificata AGGIUNGENDO caratteri è modificata in modo da TOGLIERE quei caratteri...
![]()
![]()