|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
file batch for dummies
ho un problema...come sempre
![]() ![]() ![]() ![]() ![]() devo mandare in esecuzione 5 o 6 programmi in fortran uno dietro l'altro (ognuno ci mette circa 2 ore per calcolare). vorrei farlo fare di notte al pc. mi hanno consigliato di fare un batch...ma non ho idea di come fare. queto file dovrebbe, in sequenza: 1)aprire il primo file vattelappesca1.for in Digital Visual Fortran 2)compilarlo (premere il tastino "compile") 3)rispondere "si" alle tre finestre di overwriting del progetto che compaiono 4)eseguirlo (premere il tastino "run"):si esegue in una finestra dos e alla fine compare "Premere un tasto per continuare..." 5)premere un tasto qualsiasi... ![]() 6)chiudere Digital Visual Fortran ripetere queste 6 operazioni per 5 o 6 volte. si può fare? se sto chiedendo cose assurde o troppo semplici non mi sbeffeggiate troppo, ok? ciao
__________________
peter |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
up
__________________
peter |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Forse si può fare... però prima sarebbe necessario sapere una cosa: il programma che usi per compilare (Digital Visual Fortran) ammette una modalità a riga di comando? Se sì, un file batch è probabilmente la cosa migliore: altrimenti, bisogna pensare ad un metodo più complesso...
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
grazie per la risposta.
per "modalità a riga di comando" cosa intendi? ciao
__________________
peter |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Le applicazioni Windows, anche se dotate di finestra come tutte le applicazioni, possono essere avviate anche dal prompt dei comandi, digitando il nome del programma associato ad esse. Se l'applicazione lo prevede, è possibile mettere dei parametri dopo la riga di comando, in maniera che il programma esegua automaticamente all'avvio determinate operazioni, oppure che esso si configuri in un determinato modo, senza che l'utente debba compiere alcuna operazione.
Mi spiego meglio con un esempio: tutti conosciamo il blocco note di Windows, per avviarlo di solito si va su Start -> Tutti i programmi -> Accessori -> Blocco Note. Però si potrebbe avviare anche digitando "notepad" al prompt dei comandi: la cosa interessante di questa modalità, è che se tu scrivessi dopo la parola "notepad" il nome di un file di testo da elaborare, automaticamente il Blocco Note si avvierebbe tentando di aprire proprio quel file! Se il tuo compilatore ammettesse una modalità batch, cioè fatta appositamente pensando a chi ha le tue esigenze, basterebbe scrivere in un file batch qualcosa tipo: nome_programma --compile=nome_file_da_compilare -overwrite per compilare e nome_programma --execute=nome_file_compilato per eseguire il programma. Domando scusa se ti avessi per caso annoiato con cose che tu sapevi già, era solo per fare chiarezza. Ho dato per scontato che tu utilizzassi Windows: nel caso tu dovessi farlo con Linux, la cosa è al 99,9% fattibile (e più semplice, IMHO).
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
Quote:
e io come faccio a sapere se si può fare? non sei stato per niente noioso, anzi.
__________________
peter |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Quote:
![]()
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
Quote:
"command line mode"? ![]() ciao
__________________
peter |
|
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
command line options o syntax o ...
Comunque, leggendo qui: http://crydee.sai.msu.ru/~vab/fortra...wf6/dvf_pg.pdf Ho dedotto che il comando dovrebbe essere qualcosa tipo: df nome_file_da_compilare /exe:nome_del_file_compilato Potresti fare un file di questo tipo (è solo un'idea): Codice:
@echo off rem Compila ed esegue un programma FORTRAN echo+ echo Sintassi: compila nomefile (senza .for) echo+ df %1.for /exe:%1.exe %1.exe if errorlevel 0 goto ok echo+ echo Si e' verificato un errore nell'esecuzione del programma... echo+ goto end :ok echo+ echo Programma %1.exe eseguito! echo+ :end Non so se funziona... Sempre dalla documentazione, prima di lanciare il file bat dovresti trovare ed eseguire il file DFVARS.BAT (credo). Poi ti prepari un altro file bat, con l'elenco dei file da compilare, fatto così: Codice:
compila file1 ... compila fileN ![]()
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
Codice:
@echo off rem Compila ed esegue un programma FORTRAN echo+ echo Sintassi: compila nomefile (senza .for) Codice:
echo+ df %1.for /exe:%1.exe %1.exe if errorlevel 0 goto ok echo+ echo Si e' verificato un errore nell'esecuzione del programma... echo+ goto end Codice:
:ok echo+ echo Programma %1.exe eseguito! echo+ :end Non so se funziona... Sempre dalla documentazione, prima di lanciare il file bat dovresti trovare ed eseguire il file DFVARS.BAT (credo). Poi ti prepari un altro file bat, con l'elenco dei file da compilare, fatto così: Codice:
compila file1 ... compila fileN Quote:
__________________
peter |
|
![]() |
![]() |
![]() |
#11 | |||
Senior Member
Iscritto dal: Feb 2002
Città: Trento
Messaggi: 962
|
Quote:
Quote:
Quote:
![]() ![]() ![]() ![]()
__________________
"Et Eärallo Endorenna utúlien. Sinome maruvan ar Hildinyar tenn' Ambar-metta!" -- Aragorn Elessar, Heir of Isildur Mixmar -- OpenSuSE 11.1 on AMD 64 3000+ on DFI LanParty nF4-D | GeForce 6600 GT + Thermaltake Schooner on Samsung 710N Storage -- ( 2 x Hitachi Deskstar 80 Gb + 1 x Hitachi 250 Gb ) = 1 RAID 5 + 1 Storage space LaCie Ethernet Disk Mini 250 Gb | HP - DV2150 EL MILAN CLAN |
|||
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
Quote:
Ci sarebbe pure la possibilità di salvare un exe direttamente da DF (e in quel caso sarebbe più facile fare il .bat, giusto?) ma bisogna fare delle cose con delle dll che non so manc che vuol dire...quasi quasi però mi ci metto a studiarle!! ![]() comunque tra un po' provo il batch che mi hai postato se funziona. ah, dimenticavo grazie dell'aiuto!! ![]()
__________________
peter |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: May 2000
Città: Roma
Messaggi: 1612
|
ho scoperto dove df salva i .exe
quindi in pratica potrei (potresti ![]() io li compilo tutti precedentemente così sono pronti per essere eseguiti. poi ho provato a eseguire un .exe direttamente dal win e non c'è nemmeno bisogno di "premere un tasto per continuare..." ottimo ![]()
__________________
peter Ultima modifica di peter2 : 30-01-2005 alle 17:25. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:48.