|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jan 2012
Messaggi: 5
|
[C] [C++] [Java] Richiesta Programma
Ciao a tutti! Avrei bisogno di un programma che rinomini una serie di files seguendo queste specifiche:
1) conta i files che ci sono nella cartella 2) mi chiede 5 nomi da utilizzare 3) rinomina i primi totale/5 files con nome1, i secondi totale/5 col nome 2 ecc (ordine numerico) 4) la cartella si seleziona trascinandola sull'exe, se è possibile. Esempio: In una cartella ho 50 files e i loro nomi vanno da 1 a 50. I files da 1 a 10 verranno rinominati in nome1_0, nome1_1, nome1_2, nome1_3, nome1_4, nome1_5, nome1_6, nome1_7, nome1_8, nome1_9.... I files da 11 a 20 verranno rinominati in nome2_0, nome2_1, nome2_2, ecc ecc Spero di essere stato chiaro.. grazie a tutti! Lavoro con Windows 7! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quale sarebbe la domanda?
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jan 2012
Messaggi: 5
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Appunto, il forum serve per porre domande, se stai scrivendo tu il software e hai dubbi e/o difficoltà postale e troverai aiuto; se invece cerchi qualcuno che scriva per te un software gratuitamente, ho più di qualche dubbio sul fatto che tu possa trovarlo.
Non so se fa al caso tuo, ma se sei su sistemi windows, c'è un'applicazione che si chiama Total Commander che ha una feature molto versatile per rinominare un'insieme di files secondo criteri anche complessi.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#5 | |
Junior Member
Iscritto dal: Jan 2012
Messaggi: 5
|
Ho letto il regolamento e non ho letto da nessuna parte che è vietato fare richiesti di programmi, che non servano per uso scolastico.
Il forum serve per fare domande, bene. Richiesta: Quote:
Comunque sia ho provato già totalcommander, ed anche altri software per rinominare, ma non sono stati utili ai fini del mio lavoro. |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
![]() Chiarito (per me) che è proprio quello che stai cercando, buona fortuna. Ok, l'ho suggerito nell'ipotesi non l'avessi preso in considerazione / non lo conoscessi.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 8186
|
Se la struttura dei nomi sorgente è abbastanza ridondante puoi fare il tutto in batch da riga di comando \ file bat.
Devi dirmi di più sulla nomenclatura dei file, magari qualche screenshot così capisco!
__________________
System Failure ![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
|
rinominare i file passati da riga di comando è abbastanza semplice in C, però non so dirti come si faccia a passare la cartella!!!
per rinominare i file usa questa funzione : Codice:
rename(NAME);
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03 |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 8186
|
Non ho capito bene il requisito numero 3, cmq basandomi sull'esempio è una cosa semplicissima risolvibile appunto in batch senza scomodare i linguaggi di programmazione.
Butto là un'abbozzo tanto per vedere se l'output andrà bene, quando ho capito basta cambiare il comando TYPE NULL con un altro ciclo FOR che fetcha file per file di quella cartella tramite l'opzione usebackq e lo rinomina subito. Il seguente codice non rinomina ma genera dei file txt vuoti di esempio chiedendo i cinque nomi, in pratica rifà il tuo esempio. Copia e incollalo in un file di testo e rinominalo con estensione .bat invece di .txt e lancialo dentro una cartella a piacere! Codice:
@echo off REM SETLOCAL ENABLEDELAYEDEXPANSION echo Dammi il primo nome SET /P nome1= echo. echo Dammi il secondo nome SET /P nome2= echo. echo Dammi il terzo nome SET /P nome3= echo. echo Dammi il quarto nome SET /P nome4= echo. echo Dammi il quinto nome SET /P nome5= FOR /L %%i IN (1,1,5) DO FOR /L %%j IN (1,1,10) DO IF %%i == 1 (TYPE NUL > %nome1%_%%j.txt) ELSE IF %%i == 2 (TYPE NUL > %nome2%_%%j.txt) ELSE IF %%i == 3 (TYPE NUL > %nome3%_%%j.txt) ELSE IF %%i == 4 (TYPE NUL > %nome4%_%%j.txt) ELSE IF %%i == 5 (TYPE NUL > %nome5%_%%j.txt) echo. echo Fatto ! pause
__________________
System Failure ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:11.