PDA

View Full Version : [C] [C++] [Java] Richiesta Programma


m.salvati25
29-01-2012, 02:27
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!

banryu79
30-01-2012, 08:13
Quale sarebbe la domanda?

m.salvati25
30-01-2012, 12:43
Ciao a tutti! Avrei bisogno di un programma che rinomini una serie di files seguendo queste specifiche:

Questa? Più che domanda è una richiesta..

banryu79
30-01-2012, 12:49
Questa? Più che domanda è una richiesta..

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.

m.salvati25
30-01-2012, 15:54
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:
Atto del chiedere per sapere o per ottenere qlco.; la cosa stessa che si chiede SIN domanda: r. di informazioni, di aiuto; fare, soddisfare, respingere una r.;

Che io trovi o no qualcuno che mi aiuti credo che non siano problemi tuoi.

Comunque sia ho provato già totalcommander, ed anche altri software per rinominare, ma non sono stati utili ai fini del mio lavoro.

vendettaaaaa
30-01-2012, 15:59
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:


Che io trovi o no qualcuno che mi aiuti credo che non siano problemi tuoi.

Comunque sia ho provato già totalcommander, ed anche altri software per rinominare, ma non sono stati utili ai fini del mio lavoro.
Calma, calma, ti ha solo detto di non sperarci troppo...ma guarda te :rolleyes:

banryu79
30-01-2012, 16:13
Che io trovi o no qualcuno che mi aiuti credo che non siano problemi tuoi.

Senza offesa ma a me non me ne frega una beneamata, infatti :)
Chiarito (per me) che è proprio quello che stai cercando, buona fortuna.


Comunque sia ho provato già totalcommander, ed anche altri software per rinominare, ma non sono stati utili ai fini del mio lavoro.
Ok, l'ho suggerito nell'ipotesi non l'avessi preso in considerazione / non lo conoscessi.

Perseverance
30-01-2012, 16:47
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!

tecno789
30-01-2012, 20:28
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 :


rename(NAME);

Perseverance
30-01-2012, 23:17
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!
@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

Vuoi un output così?