Precedente :: Successivo |
Autore |
Messaggio |
fdd Dio maturo
Registrato: 22/04/05 00:33 Messaggi: 1734 Residenza: Giusto dietro l'angolo
|
Inviato: 17 Giu 2005 18:56 Oggetto: Re: Rinominare file multipli |
|
|
chemicalbit ha scritto: | fdd ha scritto: | Non andrebbe bene, in quanto essendo i file in ordine errato, dopo li avrei si rinominati tutti con numero a tre cifre, ma non sarebbero nell'ordine corretto. |
Ah, perché # viene sostituito da un numero progressivo ...
Io pensavo che funzionasse come * e ? in dos, cioè lasciasse quelli che c'erano nel nome precedente (il che farebbe sì che se tu hai un "buco" nell'ordine dei file di partenza, te lo ritrovi anche in quello d'arrivo. Ma i file sono comunque ordinabili per nome, se a te non dà fastidio il "buco")
|
In realtà non è un problema di buchi, anzi rinominandoli i buchi scompaiono (cioè si spostano alla fine dell'ordinamento), il problema è che si altera l'ordinamento dei file. Cerco di spiegarmi meglio:
Se ho 1, 10, 11, 2, 3
dopo ho 1, 2, 3, 4, 5
cioè il file 10 ora è chiamato 2, mentre il 3 che sarebbe il terzo diviene ultimo (e questo perchè l'ACDSee li rinomina a partire dal loro ordinamento iniziale non dal loro nome). Certo si potrebbe obiettare che l'ACDSee già vede il file 3 come ultimo, quindi nulla cambia a formalizzare ciò cambiandogli nome in 5, ma in realtà poi dopo non è più possibile risalire all'ordinamento corretto.
chemicalbit ha scritto: | Quella rinominazione fatta con ACDsee non accetta i "*" o i "?" ? |
No, solo i # al posto dei numeri |
|
Top |
|
|
fdd Dio maturo
Registrato: 22/04/05 00:33 Messaggi: 1734 Residenza: Giusto dietro l'angolo
|
Inviato: 17 Giu 2005 19:04 Oggetto: |
|
|
The_Noise ha scritto: | Basta quindi installare perl per eseguire lo script su qualsiasi SO. |
Purtroppo sono un po' all'asciutto sull'argomento. Non è che potresti guidarmi passo passo?
Sono arrivato a questa pagina link, dove però mi trovo un po' spiazzato quando dice:
Citazione: | Once you download the gzip or zip archive, you will have to extract the source code files from the distribution and then follow the instructions on how to compile the source code for your system. If you don't have a compiler, or are unclear about compiling source code, then look first for a binary distribution of Perl. |
Grazie. |
|
Top |
|
|
chemicalbit Dio maturo
Registrato: 01/04/05 17:59 Messaggi: 18597 Residenza: Milano
|
Inviato: 17 Giu 2005 20:10 Oggetto: |
|
|
fdd ha scritto: | , dove però mi trovo un po' spiazzato quando dice:
Citazione: | Once you download the gzip or zip archive, you will have to extract the source code files from the distribution and then follow the instructions on how to compile the source code for your system. |
|
Per forza che sei spiazzato:
tu usi WinXP (dove si usano SOLO programmi specifici per winXP, o al limite per i win precedenti).
Quello descrito lì è invece (uno dei ) modi per il "mondo" Unix (GNU/Linux, ecc.) :
viene distribuito il codice sorgente (cioè quello che il programmatore ha scritto,) che è uguale (al limite di qualche agiustamento) per qualsiasi computer.
Dopo di che chi lo vuole instalalre lo comipla ottenendo un programma (un .exe , per dirla alla dos/Windows) che va bene sul suo computer
Presumo che però a te convenga:
fdd ha scritto: | Citazione: | If you don't have a compiler, or are unclear about compiling source code, then look first for a binary distribution of Perl. |
|
cioè scaricati la distribuzione con i binari (gli eseguibili) già compilati per un computer con cpu intel o compatible e s.o. = winXP , come faresti per qualunque altro programma winXP
http://www.perl.com/download.csp#win32
Di più non so dire perché non conosco questo programma nello specifico. |
|
Top |
|
|
The_Noise Eroe in grazia degli dei
Registrato: 27/04/05 15:35 Messaggi: 103
|
Inviato: 18 Giu 2005 11:19 Oggetto: |
|
|
quoto chemicalbit
Non ho mai installato perl su piattaforme win32 perchè ho conosciuto il linguaggio quando ormai ero completamente passato a GNU/Linux.
Non so se ci sia un metodo di installazione automatizzato da sorgenti per windows... quindi presumibilmente la via più semplice è installare un precompilato, un binario bello e pronto cioè.
Da una veloce sbirciata mi sembra che sia questa la via più indicata:
http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl#
(puoi raggiungere questa pagina dal link di chemicalbit con pochi click)
le due versioni che ci sono per windows presumo siano l'archivio (semplicemente da copiare dove vuoi) o il file autoinstallante.
Una volta che l'eseguibile perl sia presente nel tuo sistema, basta aprire un terminale, entrare nella caretella con i file da rinominare e scrivere:
dove nomescript è il file in cui hai salvato lo script. Se il file contentente lo script è in una cartella diversa, basta indicare il suo nome col percorso completo (es: c:\windows\nomescript).
ciau! |
|
Top |
|
|
fdd Dio maturo
Registrato: 22/04/05 00:33 Messaggi: 1734 Residenza: Giusto dietro l'angolo
|
Inviato: 19 Giu 2005 00:09 Oggetto: |
|
|
Grazie, ci proverò. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 20 Giu 2005 08:45 Oggetto: |
|
|
Come odio quando non funziona correttamente il CMD perchè tra Win2K e WinXP hanno deciso di modificare una *cavolatina* ...
Ok, proviamo ancora. Sostituisci
Codice: | SET NUOVOINDICE=X00%INDICE% |
con
Codice: | SET NUOVOINDICE=A00%INDICE% |
così -spero- almeno stavolta non dovrebbe credere che X stia ad indicare un numero esadecimale... |
|
Top |
|
|
fdd Dio maturo
Registrato: 22/04/05 00:33 Messaggi: 1734 Residenza: Giusto dietro l'angolo
|
Inviato: 20 Giu 2005 10:08 Oggetto: |
|
|
SverX ha scritto: | Codice: | SET NUOVOINDICE=A00%INDICE% |
|
Ancora nessun esito:
F:\Programmi\1>rinomina
F:\Programmi\1>SET INDICE=1
F:\Programmi\1>SET NUOVOINDICE=A001
F:\Programmi\1>SET NUOVOINDICE=1
F:\Programmi\1>REN FILE1 .* FILE1 .*
Sintassi del comando errata.
F:\Programmi\1>if 1 NEQ 0 GOTO FINE
F:\Programmi\1>
Tra l'altro non ho ancora avuto il tempo di provare la soluzione proposta da The_Noise, anche se devo ammettere che un piccolo file batch sarebbe più comodo. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 20 Giu 2005 10:16 Oggetto: |
|
|
Ultimo tentativo, stavolta evitiamo che la variabile contenga _solo_ cifre usando .* direttamente nella variabile...
Codice: | SET INDICE=1
:CICLO
SET NUOVOINDICE=00%INDICE%.*
SET NUOVOINDICE=%NUOVOINDICE:~-5%
REN FILE%INDICE%.* FILE%NUOVOINDICE%
if %ERRORLEVEL% NEQ 0 GOTO FINE
SET /A INDICE=%INDICE% + 1
GOTO CICLO
:FINE |
adesso prendiamo gli ultimi 5 caratteri di NUOVOINDICE così se tutto va bene dovrebbero essere 001.* poi 002.* etc e lo usiamo nella REN così come è...
... e odio XP, l'ho già detto?
(occhio che ho modificato 3 righe... le 2 SET e la REN) |
|
Top |
|
|
fdd Dio maturo
Registrato: 22/04/05 00:33 Messaggi: 1734 Residenza: Giusto dietro l'angolo
|
Inviato: 20 Giu 2005 10:41 Oggetto: |
|
|
Mi sento in imbarazzo per tutto il tempo che ti sto facendo perdere, ma neanche questa volta è andata bene:
F:\Programmi\1>rinomina
F:\Programmi\1>SET INDICE=1
F:\Programmi\1>SET NUOVOINDICE=001 .*
F:\Programmi\1>SET NUOVOINDICE=1 .*
F:\Programmi\1>REN FILE1 .* FILE1 .*
Sintassi del comando errata.
F:\Programmi\1>if 1 NEQ 0 GOTO FINE
F:\Programmi\1> |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 20 Giu 2005 10:49 Oggetto: |
|
|
MAPPORC
1 - non sentirti in imbarazzo
2 - tempo ne ho
3 - _TOGLI_ lo spazio dopo
e forse siamo a posto |
|
Top |
|
|
fdd Dio maturo
Registrato: 22/04/05 00:33 Messaggi: 1734 Residenza: Giusto dietro l'angolo
|
Inviato: 20 Giu 2005 11:43 Oggetto: |
|
|
Penso che ci si stia avvicinando perchè adesso mette le unità a due cifre (cioè sostituisce 0x a x), ma non porta poi queste e le decine a tre cifre (essendoci anche file con numero a tre cifre nel gruppo) |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 20 Giu 2005 12:11 Oggetto: |
|
|
scommetto che c'è ancora uno spazio al fondo di qualche istruzione SET... "purtroppo" SET considera valido anche lo spazio...
guarda nella
Codice: | SET NUOVOINDICE=00%INDICE%.* |
che magari dopo l'asterisco c'è uno spazio che NON ci deve essere... |
|
Top |
|
|
fdd Dio maturo
Registrato: 22/04/05 00:33 Messaggi: 1734 Residenza: Giusto dietro l'angolo
|
Inviato: 20 Giu 2005 12:36 Oggetto: |
|
|
Effettivamente c'erano spazi alla fine di ogni riga, ma ora pur portando a tre cifre le unità, lascia comunque a due cifre le decine. Stesso esito se il test lo si fa con un numero a 4 cifre (per il quale tutti i numeri dovrebbero essere portati a 4 cifre), le unità passano a 3 cifre, le decine rimangono 2, le centinaia rimangono a 3. |
|
Top |
|
|
Gateo Dio maturo
Registrato: 17/11/03 18:16 Messaggi: 12379
|
Inviato: 20 Giu 2005 12:43 Oggetto: |
|
|
Piccola parentesi: Sverx, il fatto che tu sia passato da "Dio del codice" a "Dio metal" c'entra con questa discussione?
Il solito, malizioso, Gateo. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 20 Giu 2005 13:13 Oggetto: |
|
|
fdd ha scritto: | Effettivamente c'erano spazi alla fine di ogni riga, ma ora pur portando a tre cifre le unità, lascia comunque a due cifre le decine. Stesso esito se il test lo si fa con un numero a 4 cifre (per il quale tutti i numeri dovrebbero essere portati a 4 cifre), le unità passano a 3 cifre, le decine rimangono 2, le centinaia rimangono a 3. |
forse perchè adesso ha già rinumerato i primi file e quindi si stampa subito... prova a cambiare la prima SET da 1 a 10 così saltiamo le unità...
gateo: no, |
|
Top |
|
|
fdd Dio maturo
Registrato: 22/04/05 00:33 Messaggi: 1734 Residenza: Giusto dietro l'angolo
|
Inviato: 20 Giu 2005 13:59 Oggetto: |
|
|
Ha aggiunto un solo 0 (adesso nel lotto c'è anche un file a 4 cifre,quindi ne avrebbe dovuti mettere 2) davanti al 10 e all'11, che quindi ora sono 010 e 011. Ma ha lasciato gli altri file immutati. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 20 Giu 2005 15:32 Oggetto: |
|
|
manca il 12?
riparti da 13
se poi vuoi più cifre (4 invece che 3) aggiungi uno 0 dopo la A nella SET ... e poi modifica ~5 in ~6 nell'altra SET ...
occhio che adesso hai dei file già rinominati ed altri no, rischi di fare un casino... |
|
Top |
|
|
Peter Comune mortale
Registrato: 22/06/05 13:10 Messaggi: 3 Residenza: Novara
|
Inviato: 22 Giu 2005 14:05 Oggetto: |
|
|
Lo so che arrivo in ritardo ma usare Total Commander?
Include una funzione multi rename molto flessibile che fa al caso. |
|
Top |
|
|
SverX Supervisor Macchinisti
Registrato: 25/03/02 11:16 Messaggi: 11568 Residenza: Tokelau
|
Inviato: 22 Giu 2005 14:21 Oggetto: |
|
|
I suggerimenti sono sempre validi, anche il giorno dopo. Non scadono mai
Per tornare al codice...
Codice: | @ECHO OFF
SET INDICE=1
SET INDICEFINE=3000
SET PARTEFISSA=FILE
:CICLO
ECHO %INDICE%
SET NUOVOINDICE=000%INDICE%
SET NUOVOINDICE=%NUOVOINDICE:~-4%
REN %PARTEFISSA%%INDICE%.* %PARTEFISSA%%NUOVOINDICE%.*
REN %PARTEFISSA%0%INDICE%.* %PARTEFISSA%%NUOVOINDICE%.*
REN %PARTEFISSA%00%INDICE%.* %PARTEFISSA%%NUOVOINDICE%.*
REN %PARTEFISSA%000%INDICE%.* %PARTEFISSA%%NUOVOINDICE%.*
SET /A INDICE=%INDICE% + 1
IF %INDICE% GTR %INDICEFINE% GOTO FINE
GOTO CICLO
:FINE |
questo _rinomina_ i file:
1- che si chiamano _come_vuoi_tu: basta che cambi la variabile PARTEFISSA all'inizio del codice. Se i tuoi file si chiamano immagine1.gif, immagine2.jpg etc. allora PARTEFISSA è immagine.
2- tutti con _4_ cifre, come desideravi.
3- rinomina i file con numero "da n a m", scegli da quale partire (INDICE) e quale è l'ultimo da elaborare (INDICEFINE)
4- _non_ si ferma se mancano dei file.
5- rinomina anche quelli che avevi iniziato a rinominare con l'altro .BAT (ovvero quelli che hanno già qualche 0 davanti, tipo immagine006.gif ...
la versione con il numero di cifre variabile la scrivo solo a pagamento
OCCHIO: attento che NON ci siano spazi alla fine delle righe quando copi questo post e lo incolli i un file BAT! |
|
Top |
|
|
fdd Dio maturo
Registrato: 22/04/05 00:33 Messaggi: 1734 Residenza: Giusto dietro l'angolo
|
Inviato: 22 Giu 2005 15:10 Oggetto: |
|
|
Funziona a perfezione!
Grazie. |
|
Top |
|
|
|