Προς το περιεχόμενο

Δημιουργία αρχείου script.


AntonisA26

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλησπέρα σας,

είμαι φοιτητής του Πολυτεχνείου Κρήτης και εργάζομαι πάνω στην διπλωματική  μου εργασία αυτό τον καιρό. Το θέμα εν ολίγοις είναι προσομοίωση ενός δικτύου νερού με το πρόγραμμα EPANET και προσέγγιση αποτελεσμάτων με χρήση τεχνικών τεχνητής νοημοσύνης. Την δεδομένη στιγμή έχω φτιάξει ένα δίκτυο και θέλω στην ουσία να φτιάξω ένα αρχείο script σε DOS, δηλαδή command line που θα ανοίγει αυτόματα το EPANET , θα τρέχει το δίκτυο που έχω μέσα πολλές φορές και ύστερα θα κλείνει το EPANET ή αν υπάρχουν και άλλοι τρόποι να γίνει αυτό.

Απλά επειδή είμαι καινούργιος στον προγραμματισμό σας ρωτάω για να βγάλω και γω άκρη ή αν μπορείτε κάπως να με βοηθήσετε με έναν μπούσουλα.  Συγγνώμη αν ζητάω πολλά και σας ευχαριστώ εκ των προτέρων.

Επεξ/σία από AntonisA26
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

  • 3 εβδομάδες αργότερα...

Καλημέρα !

Απ' ό,τι καταλαβαίνω προσπαθείς να φτιάξεις ένα script το οποίο να περιλαμβάνει εντολές του Dos.
Στην ορολογία του Dos αυτά τα αρχεία λέγονται batch files. Το να φτιάξεις ένα τέτοιο αρχείο είναι πολύ εύκολο.
Απλά ανοίγεις έναν πολύ απλό επεξεργαστή κειμένου σαν το Σημειωματάριο (notepad) των Windows. Μέσα στο notepad γράφεις ακριβώς τις εντολές που θέλεις να εκτελεστούν όταν τρέξει το συγκεκριμένο script. Όπως ακριβώς τις γράφεις και στην command line. Απλά γράφεις μία και μόνο εντολή σε κάθε γραμμή.
Από εκεί και πέρα σώζεις το αρχείο με επέκταση .bat (όχι .txt), έτσι ώστε το Dos να μπορέσει να το αναγνωρίσει ως batch file και να το εκτελέσει όταν το τρέξεις.
Αν κάνεις το λάθος να το σώσεις πχ ως script.txt θεωρείται απλό αρχείο κειμένου, οπότε τότε πρέπει να το μετονομάσεις (rename) με μία εντολή όπως παρακάτω :

ren script.txt script.bat

Ενα batch file που θα τρέχει από Dos Command Line τα αρχεία του EPANET θα είναι κάπως έτσι :

[code]

====================================

@echo off

rem

rem -- EPANET4D.BAT (DOS Batch File to Implement EPANET Menu Program)

rem

if "%2" == "" goto err1

if "%1" == "%2" goto err2

if not exist %1 copy template %1

if exist %2 del %2

:start

cls

echo.

echo.

echo E P A N E T M E N U

echo ==================================

echo.

echo 1 - Edit input file %1

echo.

echo 2 - Run EPANET

echo.

echo 3 - View report file %2

echo.

echo 4 - Print report file %2

echo.

echo 5 - Quit

echo.

echo ==================================

echo.

echo Type the number of your selection:

getdgt

if errorlevel 6 goto start

if errorlevel 5 goto quit

if errorlevel 4 goto printout

if errorlevel 3 goto view

if errorlevel 2 goto run

if errorlevel 1 goto edit

goto start


:edit

rem

rem ********* Launch editor program *********

te.exe %1

goto start

:run

cls

if "%epanet%"=="32" goto run32

epanet16.exe %1 %2 %3

pause

goto start

:run32

set DOS4G=quiet

echo Running 32-bit version of EPANET...

dos4gw epanet32.exe %1 %2 %3

set DOS4G=

pause

goto start

:view

cls

if not exist %2 goto err3

rem

rem ********* Launch file viewer *********

browse.com %2

goto start

:printout

cls

if not exist %2 goto err3

print %2

goto start

:err1

echo Correct syntax is: EPANET4D inpfile rptfile

echo where inpfile is the name of an input file

echo and rptfile is the name of a report file.

echo.

goto end

:err2

echo Cannot use same name for input and report files.

echo.

goto end

:err3

echo Report file %2 has not been created yet.

echo.

pause

goto start

:quit

cls

:end

[/code]

Ελπίζω λίγο να βοήθησα,

Να είσαι καλά,

Ο Άσπρος Γάτος

 

Το tag [code] ... [/code] μην το βάλεις μέσα στο batch file. Το έβαλα απλά για να δείξω ότι ό,τι γράφει εκεί μέσα είναι κώδικας. Αλλά δεν καταλαβαίνω καθόλου γιατί ο browser δεν το βγάζει σωστά.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...