PDA

View Full Version : Rinomina files in cartella: esigenza particolare


patrick40
01-02-2020, 18:43
Ciao a tutti,

ho alcuni files in una cartella e vorrei che a partire dal x-esimo (spazi compresi) i caratteri diventassero tutti minuscoli (sono un mix di minuscoli, che voglio che restino così, e maiuscoli, che voglio che cambino in minuscolo).

Finora non ho trovato un software che permetta questo.... qualcuno è in grado di aiutarmi?

Mille grazie.

Styb
01-02-2020, 19:00
Ciao, un po' tutti i programmi di rinomina prevedono di cambiare da maiuscolo a minuscolo e viceversa.
Ora sto usando Advanced Renamer che presenta varie opzioni. Aggiungi i file che vuoi rinominare e poi scegli il metodo Nuovo formato (A-a).

https://i.postimg.cc/xNDPjXPf/Image-1.jpg (https://postimg.cc/xNDPjXPf)

patrick40
02-02-2020, 08:05
Scusami Styb, ma non hai letto attentamente la mia richiesta: non cerco un software per modificare lettere maiuscole in minuscole e/o viceversa in generale, ma in un modo molto particolare, che nessun software che io conosca è in grado di fare, almeno nelle sue impostazioni generali.

E quello da te indicato mi pare sia inutile per ciò che vorrei fare io, almeno dalla schermata che hai messo.

x_Master_x
02-02-2020, 10:59
Fai un paio di esempi reali di questi nomi di file e del risultato voluto

patrick40
02-02-2020, 11:26
Nome file - Pippo Va in pIaZZA.avi
Nome file - MatteO GIRa In BiCICLettA.avi
Nome file - GIAcomo ama LA BaRca a vEla.avi

Io vorrei che diventassero così:

Nome file - Pippo va in piazza.avi
Nome file - Matteo gira in bicicletta.avi
Nome file - Giacomo ama la barca a vela.avi

E il comando da impartire sarebbe in questo caso:

Dalla 14a posizione dall'inizio metti tutto minuscolo fino alla fine dei nomi dei files.

Ovviamente vorrei poi poter modificare di volta in volta la posizione (ma penso che se la cosa è fattibile in prima istanza non sarà un problema)

Styb
02-02-2020, 13:33
Sì, non avevo capito la richiesta.
Purtroppo non so aiutarti, ma dato che sono interessato a capire come potrebbe funzionare, scrivo nel forum di advanced renamer per chiedere lumi

x_Master_x
02-02-2020, 14:28
Usa questo file .bat

: x_Master_x
@ECHO OFF
SETLOCAL EnableDelayedExpansion

FOR %%i IN (*) DO (
SET filepath="%~dp0\%%i"
CALL :Rename !filepath!, 13
)
PAUSE

:Rename
FOR %%f IN ("%~1") DO SET filename=%%~nxf
SET nchar=%~2
SET static=!filename:~0,%nchar%!
SET lower=!filename:~%nchar%!
FOR %%x IN ("A=a" "B=b" "C=c" "D=d" "E=e" "F=f" "G=g" "H=h" "I=i" "J=j" "K=k" "L=l" "M=m" "N=n" "O=o" "P=p" "Q=q" "R=r" "S=s" "T=t" "U=u" "V=v" "W=w" "X=x" "Y=y" "Z=z") DO (set "lower=!lower:%%~x!")
ECHO REN "%~1" "%static%%lower%"


Ti basta salvarlo e lanciarlo nella cartella dove sono presenti i file in questione (non recursivo nelle sottocartelle)

Il batch per come è scritto fa quello che chiedi. Per modificare la quantità di caratteri da cui contare, la linea è questa:
CALL :Rename !filepath!, 13

N.B. Una volta lanciato NON rinomina (per questioni di sicurezza) ma mostra solo a schermo il risultato, perché nell'ultima riga c'è ECHO. Una volta appurato che funziona correttamente (l'ho testato solo con i tuoi esempi) rimuovi la parola ECHO dall'ultima linea per rinominare effettivamente i file

Non quotare questo post per eventuali modifiche

Katsaros
02-02-2020, 15:27
Scusami Styb, ma non hai letto attentamente la mia richiesta: non cerco un software per modificare lettere maiuscole in minuscole e/o viceversa in generale, ma in un modo molto particolare, che nessun software che io conosca è in grado di fare, almeno nelle sue impostazioni generali.
E quello da te indicato mi pare sia inutile per ciò che vorrei fare io, almeno dalla schermata che hai messo.
Sì, non avevo capito la richiesta.
Purtroppo non so aiutarti, ma dato che sono interessato a capire come potrebbe funzionare, scrivo nel forum di advanced renamer per chiedere lumiDiciamo pure che nessuno dei due si è sforzato molto a documentarsi giusto un attimo... :rolleyes:

https://funkyimg.com/i/31UTT.png

https://www.advancedrenamer.com/user_guide/tags_advanced :read:

Styb
02-02-2020, 15:42
Diciamo pure che nessuno dei due si è sforzato molto a documentarsi giusto un attimo... :rolleyes:

Vero. :D
Ero arrivato ad usare la SubString ma non capivo come mettere la fine del nomefile. Il 200 è una bella idea!

bobo779256
02-02-2020, 15:46
Grazie Katsaros

aggiungo che se si vuole anche la maiuscola nel nome file dopo ' - ' basta aggiungere un altro metodo, cioè:

https://funkyimg.com/i/31UVL.png (https://funkyimg.com/view/31UVL)

Si possono mettere quali e quante maiusc\minusc si vuole

patrick40
02-02-2020, 16:09
@ x_Master_x

Ti ringrazio moltissimo per l'aiuto (fra parentesi, sono uno dei primissimi estimatori del tuo gioiellino OSD Clock, che è "cresciuto moltissimo e molto bene" dal suo inizio! ;-)

Vista la mia somma ignoranza in materia chiedo (e ti chiedo scusa se è una mia paranoia inutile) se devo togliere anche la seconda riga @ECHO OFF, oppure lasciarla, affinchè poi le modifiche abbiano effetto.

@ Katsaros

Ringrazio anche te per la ricerca di una soluzione con il programma trovato da Styb, anche se trovo (parere solamente personale, naturalmente) il tuo commento rivolto a Styb e al sottoscritto un po' rude e spocchioso: per comprendere il link da te indicato ci vogliono intuito, competenze e conoscenze linguistiche che non tutti hanno, ed io sono sicuramente fra questi (fra parentesi, il link da te citato riporta, testualmente:
"Advanced tags: This is more advanced tags for the more advanced users because they are more difficult to use.").
Inoltre dalla tua schermata MI PARE che se il risultato è quello dell'immagine che tu hai messo, non sia quello che vorrei ( la colonna "new filename" riporta nomi ancora con maiuscole sparse, mentre io vorrei tutte minuscole), anche se credo sia un risultato dettato dalla tua fretta nel rispondere: hai preso i nomi che ho indicato senza i "Nome file -" che li precedonop e non hai controllato il risultato, mentre invece bobo779256 ha riportato una schermata corretta, a parte un errore nel secondo file (NoME, con M maisucolo, che posso poi correggere eventualmente a mano).

Est modus in rebus.

Styb
02-02-2020, 16:23
Si possono mettere quali e quante maiusc\minusc si vuole

C'è da sottolineare che la substring coinvolge almeno 2 caratteri, nel caso specifico c'è uno spazio prima del carattere da mettere in maiuscolo e quindi la modifica a maiuscolo non si nota e il risultato è quello voluto.
Casomai ci sarebbe da cercare il metodo che coinvolge la modifica di un solo carattere. :)

Styb
02-02-2020, 16:31
...con il programma trovato da Styb...
A dire il vero l'ho conosciuto qui sul forum. :)
Mi è subito piaciuto e l'ho tradotto in italiano.
Se trovate strafalcioni nella localizzazione in italiano... fatemelo sapere! :p

x_Master_x
02-02-2020, 16:33
@ x_Master_x

Ti ringrazio moltissimo per l'aiuto (fra parentesi, sono uno dei primissimi estimatori del tuo gioiellino OSD Clock, che è "cresciuto moltissimo e molto bene" dal suo inizio! ;-)

Vista la mia somma ignoranza in materia chiedo (e ti chiedo scusa se è una mia paranoia inutile) se devo togliere anche la seconda riga @ECHO OFF, oppure lasciarla, affinchè poi le modifiche abbiano effetto

Figurati, mi fa piacere. Lascialo, solo l'ultimo da togliere prima di REN

Styb
02-02-2020, 16:36
Inoltre dalla tua schermata MI PARE che se il risultato è quello dell'immagine che tu hai messo, non sia quello che vorrei.
In realtà è corretto, è quello che stai cercando di ottenere, cioè dalla posizione 13 (compresa) alla fine del nomefile i caratteri saranno in minuscolo.

bobo779256
02-02-2020, 17:33
... a parte un errore nel secondo file (NoME, con M maisucolo ...

Non ci avevo fatto caso, e non mi spiego...

Qualcuno ne sa di più? Vedi post precedente (https://www.hwupgrade.it/forum/showpost.php?p=46604967&postcount=10)

Katsaros
02-02-2020, 17:40
trovo (parere solamente personale, naturalmente) il tuo commento rivolto a Styb e al sottoscritto un po' rude e spocchioso: per comprendere il link da te indicato ci vogliono intuito, competenze e conoscenze linguistiche che non tutti hanno, ed io sono sicuramente fra questi (fra parentesi, il link da te citato riporta, testualmente:
"Advanced tags: This is more advanced tags for the more advanced users because they are more difficult to use.").
Inoltre dalla tua schermata MI PARE che se il risultato è quello dell'immagine che tu hai messo, non sia quello che vorrei ( la colonna "new filename" riporta nomi ancora con maiuscole sparse, mentre io vorrei tutte minuscole), anche se credo sia un risultato dettato dalla tua fretta nel rispondere: hai preso i nomi che ho indicato senza i "Nome file -" che li precedonop e non hai controllato il risultatoNo no, controllato benissimo; è che non si capiva affatto che "Nome file - " facesse parte del filename, anche perché non c'erano virgolette attorno (prima regola per i nomi lunghi con spazi, almeno da riga di comando). Quindi per il futuro vedi, prima di tutto, di spiegarti come si deve, perché i tuoi esempi davano adito ad ambiguità, evidentemente.

Utente avanzato un par di ciufoli, figurati che l'ho scaricato e provato apposta oggi, per la prima volta... Come ho dato un'occhiata io alla documentazione online, penso chiunque altro possa farlo. Anzi dovrebbe assolutamente. Altrimenti si va avanti senza capire una cippa e trattasi evidentemente, e semplicemente, di sindrome da pappa fatta... :bimbo: Altro che "rude e spocchioso", ma per piacere! :muro:

Styb
02-02-2020, 20:49
Come ho dato un'occhiata io alla documentazione online, penso chiunque altro possa farlo. Anzi dovrebbe assolutamente. Altrimenti si va avanti senza capire una cippa e trattasi evidentemente, e semplicemente, di sindrome da pappa fatta...

Non sono d'accordo, la discussione sui programmi del forum serve a consigliare /aiutare chi non conosce determinate caratteristiche dei programmi. Se tutti facessero per conto proprio si potrebbe chiudere il forum. Eh!
Tra l'altro patrick40 ha specificato che non riusciva a trovare nei vari programmi che conosceva una determinata caratteristica, quindi non penso che stesse cercando la pappa scodellata.
Guarda che anch'io ho letto la documentazione online, ma come ho già scritto non sono riuscito a definire il secondo parametro della substringa, quindi non tutti siamo uguali e capaci di interpretare al volo dei comandi verso i quali c'è poca confidenza.

EDIT: Sto leggendo adesso la risposta ricevuta sul forum di AR qui: https://www.advancedrenamer.com/forum_thread?forum_id=10621
Chi mi ha risposto ritiene che la via dello script sia quella più semplice, è evidente che ha una buona confidenza con un certo tipo di linguaggio che non tutti possono avere.
Personalmente oltre che copia-incollare lo script non potrei fare altro.

bobo779256
02-02-2020, 22:32
Invece io ho trovato un sostituto, vecchiotto ma efficace, che fa tutto ciò che richiede chi ha aperto il post ed oltre, come ad esempio (cosa che cercavo io) mettere maiusc\minusc una singola lettera e senza usare linguaggi\script\complicazioni varie

Ad esempio per mettere maiusc la 4 lettera basta premere il pulsantino 'Convert to upper case' e dalla finestrella che si apre selezionare 4 e 4 da 'from character', niente di più facile
Lo stesso per minusc, nell'esempio dal carattere 14 a un numero alto

Il programmino si chiama WildRename, è del 2008 ma funge benino lo stesso, niente install

Da affiancare ad altri software rinomina file

Katsaros
02-02-2020, 23:45
Qui non si tratta solo di "consigliare /aiutare chi non conosce determinate caratteristiche dei programmi"; la guida online specifica cos'è il secondo parametro COUNT e fa esempi. Se non si è in grado di capire quella parte di pagina dell'help, allora men che meno lo script di Advanced Renamer (semplice Basic-like o C-like... :D) e ancora meno, o zero, il batch di x_Master_x. Quindi di che stiamo parlando? Fatemelo voi il programma che io non so fare, è questo l'atteggiamento; non si venga però a dire "nessun software che io conosca è in grado di fare". Il punto è proprio quello, di grattare la superficie, non fermandosi al primo screenshot con le 3-4 opzioni naif di base. Hai voluto la bici? (il PC) adesso pedala, cavolo!

Che poi il primo che ti risponde su quel forum non abbia voglia di cercare soluzioni via menu e preimpostazioni del programma, significa semplicemente che per indole è più incline alla programmazione. Ma quel che ha detto non è l'unico approccio, come abbiamo visto. Che poi Advanced Renamer abbia bugs (non mi torna troppo il bug nel risultato della seconda regola definita da bobo779256, ma non ho visto la sua prima e non ho verificato quindi non mi esprimo sul bug) ci può stare, sempre di software fallibile si tratta, e come Advanced Renamer ce n'è almeno un'altra mezza dozzina, senza contare i Multi Rename Tool incorporati nei file manager ortodossi (come Total Commander, Double Commander e simili) che uso abitualmente. Tra l'altro, se ci fate caso, tutti quanti (compreso l'ultimo WildRename citato da bobo779256) per i task più evoluti fanno ricorso alle espressioni regolari (di derivazione Unix) per cui si va comunque verso la programmazione...

Non provare nemmeno a capire e pretendere il risultato scodellato pronto, senza sforzi, è quasi un atteggiamento da lamer... e sinceramente scassa anche gli zebedei a chi traccia un percorso, eventualmente da ritoccare in minima parte con un po' d'autonomia; anzi su quello ci sputa, offendendo pure, perché l'esempio non era del tutto conforme ai suoi desiderata malamente espressi. Che tristezza... :grrr:

Pensiero della sera: "non ti curar di loro, ma guarda e passa" (cit.)

Katsaros
03-02-2020, 01:34
aggiungo che se si vuole anche la maiuscola nel nome file dopo ' - ' basta aggiungere un altro metodo, cioè:

https://funkyimg.com/p/31UVL.png (https://funkyimg.com/view/31UVL)

Si possono mettere quali e quante maiusc\minusc si vuoleEcco invece come viene, in un colpo solo, col Multi Rename Tool di Total Commander:

https://funkyimg.com/i/31VJq.png

Il metodo è sempre quello delle sottostringhe di caratteri:
* da 1 a 12 nel nome: inalterati
* maiuscolo il 13-esimo
* minuscoli da 14 a fine stringa del nome

Anche a me sembra che Advanced Renamer abbia un bug in quel comparto, il parametro COUNT di Substr sembra debba essere almeno 2, succedono cose strane (come visto) quando vale 1 che dovrebbe invece essere legittimo.

patrick40
03-02-2020, 10:16
@ x_Master_x

ho provato il tuo script in 4 differenti situazioni, e tutto funge alla perfezione, sia la simulazione che la trasformazione!


@ bobo779256

Wow, bello e semplice da usare, SENZA STRINGE ASTRUSE e a prova di .... Patrick40! Molte grazie anche a te per la .... "perseveranza" e la gentilezza... non lo avevo proprio visto e confesso che se anche lo avessi notato, probalimente essendo vecchiotto non avrei pensato che potesse avere una funzione così particolare, che altri programmi molto più recenti e con caratteristiche avanzate non hanno ( o non hanno in forma così immediata)!

Quanto alla polemica in corso, voglio aggiungere solo alcune cose, e poi davvero chiudo perchè chi legge ha tutti gli elementi per farsi un'idea: l'utente sapeva se io conoscevo l'inglese, e a che livello? No, non lo sapeva, e quindi non si trattava di rimboccarsi le maniche, ma di fare un corso di inglese nel caso io non lo sapessi. Invece lui ha presunto ciò, senza alcuna ragione per farlo (a meno che ritenga che tutti nasciamo sapendo l'inglese tecnico/informatico). E sbaglia pure quando dice che "occorre capire lo script di x_Master_x". Io non lo capisco proprio, ma LUI GENTILMENTE MI HA SPIEGATO PASSO-PASSO come fare, con cortesia e pazienza, senza farmi sentire "inferiore" per questo. E io l'ho usato, e funziona e mi è utile. E quanto ho scritto "nessun software che io conosca è in grado di fare", è la (umile) verità, e lo vengo proprio a scrivere qui, perchè ho bisogno di aiuto.... CHE IO CONOSCA, ho scritto, mica CHE NON ESISTE.
E non ho sputato su "chi ha tracciato il percorso" (anche se poi si è visto che più che tracciare il percorso ne ha offerto uno): chi scrive come io ho sxritto "Ringrazio anche te per la ricerca di una soluzione" NON SPUTA su quello che hai scritto: ho semplicemente espresso, senza ricorrere a parolacce o insulti, come mi sono sentito quando ho letto quella frase, che io mai mi permetterei di scrivere. Ma non tutti siamo fatti allo stesso modo. E qui chiudo davvero la polemica.

Katsaros
03-02-2020, 11:05
Ancora...? Ma basta! Alla mia sola obiezione che non avevi letto l'help online, perciò mostrandoti come dovevi fare con quel programma, hai immediatamente sputato un "rude e spocchioso"? Ma per piacere, fatti un esame di coscienza, "senza ricorrere a parolacce o insulti, come mi sono sentito quando ho letto quella frase"... quale frase? che non ti eri sforzato a leggere l'help? tu sì non hai esitato a insultare, dando subito dello spocchioso. Ma va là...

bobo779256
03-02-2020, 12:02
Anche a me sembra che Advanced Renamer abbia un bug in quel comparto, il parametro COUNT di Substr sembra debba essere almeno 2, succedono cose strane (come visto) quando vale 1 che dovrebbe invece essere legittimo.

Con qualche test in più, sembra che il comando Substr esegua solo una scelta di quale carattere nel nome file debba essere interessato dal modello, il comando <Substr:13:1> dovrebbe selezionare la M di Matteo ma mette maiuscolo anche le altre M
Mettendo a 2 il secondo parametro è più difficile che ci siano due caratteri contigui e ripetuti nel nome file, basta provare con un file ad esempio di nome wawawa e si vedrà che con 1 si selezionano tutte le W e con due tutte le WA

Comunque, basta così, viste le alternative non vale la pena, ed in più penso di essere un pelo OT

Katsaros
03-02-2020, 12:30
Con qualche test in più, sembra che il comando Substr esegua solo una scelta di quale carattere nel nome file debba essere interessato dal modello, il comando <Substr:13:1> dovrebbe selezionare la M di Matteo ma mette maiuscolo anche le altre MNon mi spiego allora perché con <Substr:13:1> non metta maiuscole anche le altre P di "Pippo Va in pIaZZA"...

Styb
03-02-2020, 14:05
Sì, anche io ho replicato il bug.

https://i.postimg.cc/MX4NtfJ6/Image-3.jpg (https://postimg.cc/MX4NtfJ6)

Ho segnalato questo strano comportamento al developer del programma, vedremo cosa risponde.

Katsaros
03-02-2020, 14:59
Nella foto del post n.10 di bobo779256 non l'ha fatto però, solo la prima P...

Styb
03-02-2020, 15:24
Forse perché aveva impostato che tutta la restante parte fosse in minuscolo.

bobo779256
03-02-2020, 18:48
Esatto, in quella cattura immagine avevo attivo anche il metodo <Substr:14:100>, nelle successive prove invece no, oppure basta invertirli

Non so se si possa definire un bug, magari è così che lo intendeva chi ha creato il programma e questa opzione

Styb
12-02-2020, 17:15
Mi ha risposto lo sviluppatore di Advanced Renamer, dicendomi che il risultato ottenuto dal tag SubStr è by design, cioè progettato perché sia così.
Sinceramente penso che non abbia senso un tale comportamento, tant'è che gli ho proposto di aggiungere un'opzione per diversificare i risultati.
In realtà il mio primo pensiero è stato quello che mi ha voluto rispondere così per non ammettere l'esistenza del bug. :rolleyes:

bobo779256
12-02-2020, 23:59
Mi ha risposto lo sviluppatore ... il risultato ottenuto dal tag SubStr è by design, cioè progettato perché sia così.
Sinceramente penso che non abbia senso un tale comportamento, tant'è che gli ho proposto di aggiungere un'opzione per diversificare i risultati.

Anch'io ho pensato che forse era giusto il comportamento del parametro, il problema è che non mi viene in mente nessuna occasione in cui possa essere utile un tale comportamento...
Boh, spero aggiungano, altrimenti userò il sostituto che ho citato in precedenza per quella particolare funzione
In fondo 'sti programmini li uso tutti come portable, anche se ce ne sono 10 fa lo stesso

patrick40
13-02-2020, 08:08
Grazie ad entrambi per la "perseveranza", ragazzi, faccio spesso questo tipo di operazioni su files e leggo sempre tutto! ;)