|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2008
Messaggi: 54
|
[PROMPT WINDOWS] breve script
ciao, dovrei fare uno script che faccia le seguenti cose:
0) si avvia con windows 1) ogni tot secondi controlla una cartella (ed eventuali sottocartelle) 2) se trova uno o più files di formato .dcm li converte in .jpg chiamando il programma Imagemagick che funziona da linea di comando (la sintassi dovrebbe essere "convert A.dcm B.jpg) 3) elimina le immagini dcm convertite. il fatto è che non so programmare qualcuno può darmi una mano? grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Cagliari
Messaggi: 13495
|
Credo che basti a fare un file batch (.CMD), e usare l'utilità di pianificazione di windows per farlo eseguire ogni tot tempo.
Anche perché, iniziare a fare un programma senza basi di programmazione, soprattutto via forum, è troppo difficile Un file batch è più alla portata, per quanto non è semplice, io quasi troverei più facile farlo in C# o VB.net Sono dei linguaggi immensi, però almeno c'è l'ambiente di sviluppo che aiuta con la sintassi. Comunque dipende tutto molto da che tipo di sintassi accetta il tuo programma per convertire. Se accetta i caratteri jolly è tutto molto più facile. Altrimenti bisogna usare un ciclo for, e non mi ricordo mai come si usa Inoltre la cosa più complicata, è fare il controllo che la conversione sia andata a buon fine prima di cancellare il file. Ma questo dipende molto dal programma che usi. Se non restituisce un valore di errorlevel, non ci si può fare nulla. In pratica crei un file (di testo) vuoto, gli dai un nome e l'estensione è .CMD Dentro ci dovrai scrivere, semplificando molto, giusto per iniziare a capire come funzionerebbe, qualcosa come: Codice:
convert *.dcm *.jpg del *.dcm Ovviamente come forse puoi intuire, questo sistema funziona solo se convert supporta i caratteri jolly. Se non supporta i caratteri jolly come ho detto va usato un ciclo for, che ora per l'occasione stavo ripassando. Comunque devi dire che sistema operativo usi perché ora io sono su Windows 7, ma su XP mi sa che qualche sintassi è diversa. Codice:
FOR /F "delims=" %A IN ('dir /b *.dcm') DO (
REM Esegue, per ogni file *.DCM, i comandi inclusi tra le parentesi
convert %A %A.JPG
REM %A rappresenta il nome del file, che cambia ogni volta che viene eseguito il ciclo. Se %A si chiama XYZ.DCM, il comando sarà convert XYZ.DCM XYZ.DCM.JPG
IF %ERRORLEVEL% EQU 0 del %A
REM Se la variabile errorlevel è uguale a 0, allora cancella il file %A. Come ho detto questo si può fare solo se convert supporta errorlevel, altrimenti devi eliminare il file senza poter fare il controllo.
)
Inoltre tutto è inteso per funzionare, con il file .CMD dello script dentro la cartella che contiene i file DCM. Dovrai studiarci un po' tu, perché se riesci a capirci qualcosa magari puoi costruirti lo script un po' autonomamente, poi ovviamente chiedi informazioni. Se lo vuoi già pronto, è più complicato Inoltre chiedo anche io un po' di aiuto, perché in batch ho alcune lacune.
__________________
MoBo:Asus Prime x470-Pro*CPU:AMD Ryzen 5700x*RAM:Kingston FURY KF432C16RB2K2/16*Sk.Vid:Asus DUAL-RX580-O8G*Ali:Enermax Revolution87+ 550W*Storage:Samsung 970 Evo Plus 1TB + Samsung 860 Evo 1TB*Mons:Dell 2209WAf + LG 24EA53VQ |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:26.



















