Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
* Rinominare file multipli
Nuovo argomento   Rispondi    Indice del forum -> Software - generale
Precedente :: Successivo  
Autore Messaggio
fdd
Dio maturo
Dio maturo


Registrato: 22/04/05 00:33
Messaggi: 1734
Residenza: Giusto dietro l'angolo

MessaggioInviato: 17 Giu 2005 18:56    Oggetto: Re: Rinominare file multipli Rispondi citando

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
Profilo Invia messaggio privato
fdd
Dio maturo
Dio maturo


Registrato: 22/04/05 00:33
Messaggi: 1734
Residenza: Giusto dietro l'angolo

MessaggioInviato: 17 Giu 2005 19:04    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato
chemicalbit
Dio maturo
Dio maturo


Registrato: 01/04/05 17:59
Messaggi: 18597
Residenza: Milano

MessaggioInviato: 17 Giu 2005 20:10    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato
The_Noise
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 27/04/05 15:35
Messaggi: 103

MessaggioInviato: 18 Giu 2005 11:19    Oggetto: Rispondi citando

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:

Codice:
perl nomescript


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
Profilo Invia messaggio privato
fdd
Dio maturo
Dio maturo


Registrato: 22/04/05 00:33
Messaggi: 1734
Residenza: Giusto dietro l'angolo

MessaggioInviato: 19 Giu 2005 00:09    Oggetto: Rispondi citando

Grazie, ci proverò.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 20 Giu 2005 08:45    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato HomePage
fdd
Dio maturo
Dio maturo


Registrato: 22/04/05 00:33
Messaggi: 1734
Residenza: Giusto dietro l'angolo

MessaggioInviato: 20 Giu 2005 10:08    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 20 Giu 2005 10:16    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato HomePage
fdd
Dio maturo
Dio maturo


Registrato: 22/04/05 00:33
Messaggi: 1734
Residenza: Giusto dietro l'angolo

MessaggioInviato: 20 Giu 2005 10:41    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 20 Giu 2005 10:49    Oggetto: Rispondi citando

MAPPORC Shocked

1 - non sentirti in imbarazzo
2 - tempo ne ho

3 - _TOGLI_ lo spazio dopo

Codice:
SET INDICE=1


e forse siamo a posto Smile
Top
Profilo Invia messaggio privato HomePage
fdd
Dio maturo
Dio maturo


Registrato: 22/04/05 00:33
Messaggi: 1734
Residenza: Giusto dietro l'angolo

MessaggioInviato: 20 Giu 2005 11:43    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 20 Giu 2005 12:11    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato HomePage
fdd
Dio maturo
Dio maturo


Registrato: 22/04/05 00:33
Messaggi: 1734
Residenza: Giusto dietro l'angolo

MessaggioInviato: 20 Giu 2005 12:36    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato
Gateo
Dio maturo
Dio maturo


Registrato: 17/11/03 18:16
Messaggi: 12379

MessaggioInviato: 20 Giu 2005 12:43    Oggetto: Rispondi citando

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. Wink
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 20 Giu 2005 13:13    Oggetto: Rispondi citando

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, Razz Razz Razz
Top
Profilo Invia messaggio privato HomePage
fdd
Dio maturo
Dio maturo


Registrato: 22/04/05 00:33
Messaggi: 1734
Residenza: Giusto dietro l'angolo

MessaggioInviato: 20 Giu 2005 13:59    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 20 Giu 2005 15:32    Oggetto: Rispondi citando

manca il 12?

riparti da 13 Smile

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
Profilo Invia messaggio privato HomePage
Peter
Comune mortale
Comune mortale


Registrato: 22/06/05 13:10
Messaggi: 3
Residenza: Novara

MessaggioInviato: 22 Giu 2005 14:05    Oggetto: Rispondi citando

Lo so che arrivo in ritardo ma usare Total Commander?

Include una funzione multi rename molto flessibile che fa al caso.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 11:16
Messaggi: 11568
Residenza: Tokelau

MessaggioInviato: 22 Giu 2005 14:21    Oggetto: Rispondi citando

I suggerimenti sono sempre validi, anche il giorno dopo. Non scadono mai Smile

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 Wink

OCCHIO: attento che NON ci siano spazi alla fine delle righe quando copi questo post e lo incolli i un file BAT!
Top
Profilo Invia messaggio privato HomePage
fdd
Dio maturo
Dio maturo


Registrato: 22/04/05 00:33
Messaggi: 1734
Residenza: Giusto dietro l'angolo

MessaggioInviato: 22 Giu 2005 15:10    Oggetto: Rispondi

Funziona a perfezione! Dancing
Grazie. Mr. Green
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Software - generale Tutti i fusi orari sono GMT + 1 ora
Vai a Precedente  1, 2, 3  Successivo
Pagina 2 di 3

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi