Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Parameteruebergabe an exe - datei ueber ein Batch

Frage Entwicklung Batch & Shell

Mitglied: BiffBaff

BiffBaff (Level 1) - Jetzt verbinden

08.01.2015, aktualisiert 16.01.2015, 1014 Aufrufe, 17 Kommentare

Hallo zusammen,

ich habe eine batch datei die eine exe datei aufruft und mehrmals ausfuehrt:

for /L %%a IN (1;1;%real%) DO (
start "" /wait "C:\programm.exe"
)

Das ausgefuehrte exe Programm fordert mich nun zur eingabe von Daten auf, ich wuerde gerne der exe datei diese Daten automatisch ueberliefern, da es sich fast immer um dieselben handelt. (Fuer eine Eingabeaufforderung jedoch muesste ich eine Schleife machen, da die Ausgabedatei durchnummeriert werden soll)

Die ausgefuehrte exe datei sieht so aus:
Gib string ein:
String FileName

Gib Werte eine
Integer Wert1,Wert2,Wert3,Wert4

Name Output File
String OutputFile
Ich braeuchte also, falls so etwas ueberhaupt moeglich ist, die Befehle um einen String und Werte sowie "Enter" zu uebergeben.

Geht so etwas? Das wuerde mir 3 Tage eintippen sparen ;)

Vielen Dank im Voraus fuer Loesungsanregungen!

Greetz BiffBaff
Mitglied: Pjordorf
08.01.2015 um 17:08 Uhr
Hallo,

Zitat von BiffBaff:
Geht so etwas?
Ja.

aber da ich keinerlei ahnung habe was die exe datei intern macht oder wie sie die Parameter erkennt
wenn dort keine Parameter angenommen werden...... Ein Blick in den Quellcode des ungenannten Programms oder den Hersteller befragen oder seine Handbücher zu dem Programm hat immer geholfen Antworten zu finden....

Gruß,
Peter
Bitte warten ..
Mitglied: BiffBaff
08.01.2015 um 17:30 Uhr
Hallo Peter,

danke schonmal fuer die schnelle Antwort.

Nehmen wir an ich kenne die Parameter Variablen im Quellcode, wir nennen diese jetzt folgend:
Gib string ein:
NameFile

Gib Werte eine
Wert1,Wert2,Wert3,Wert4

Name Output File
OutputFile
Wie kann ich jetzt im Batch diese Variablen vorab festlegen und in die exe datei schreiben lassen nachdem diese aufgerufen wurde. Es muesste auch nach jeder Eingabe ein "Enter" erfolgen.

Vielen Dank fuer die Hilfe!
Bitte warten ..
Mitglied: 114757
08.01.2015, aktualisiert um 18:13 Uhr
Moin,
Wie kann ich jetzt im Batch diese Variablen vorab festlegen und in die exe datei schreiben lassen nachdem diese aufgerufen wurde
das geht so nicht...Das ginge nur wenn das Programm die Daten aus Umgebungsvariablen abfragen würde, was aber nur ganz selten der Fall ist.

Was sagt das Programm den beim Aufruf von
Programm.exe /?
oder
Programm.exe -?
oder
Programm.exe --help

Wenn es denn ein Programm für die Kommandozeile sein sollte erhältst du so mögliche Informationen zu Parametern welche übergeben werden können.

Ansonsten geht das eventuell über eine Datei in die du die Parameter schreibst und dann mit
Programm.exe <Parameter.txt
an das Programm übergibst.

Kann man nicht mal erfahren wie der Name des Programms ist ? Oder ist der so geheim

Gruß jodel32
Bitte warten ..
Mitglied: laster
08.01.2015 um 18:08 Uhr
Hallo BiffBaff,

falls das Programm ein Konsolenprogramm (ohne GUI) ist, könntest Du folgendes probieren
01.
echo FileName > antwortdatei.dat 
02.
echo 1,2,3,4 >> antwortdatei.dat 
03.
echo OutputFile >> antwortdatei.dat 
04.
 
05.
programm < antwortdatei.dat
xcopy funktioniert z.B. so...

vG
LS
Bitte warten ..
Mitglied: laster
08.01.2015 um 18:08 Uhr
nun hatte der jodel32 die gleiche Idee ...
Bitte warten ..
Mitglied: BiffBaff
08.01.2015, aktualisiert um 18:26 Uhr
Zitat von 114757:

Was sagt das Programm den beim Aufruf von
Programm.exe /?
oder
Programm.exe -?
oder
Programm.exe --help

Nur "Press any key to continue..."

Ist nur ein kleines Programm zum umwandeln einer Matrix ;)

Also ich habe jetzt mal das folgende ausprobiert:

set NameFile="Trans"
set Wert1,Wert2,Wert3,Wert4="20,20,2,2"
for /L %%a IN (1;1;%real%) DO (
set Spalte="%%a"
start "" /wait "C:\Programm.exe" %NameFile% %Wert1,Wert2,Wert3,Wert4% %Spalte%

Da hat er schonmal die erste Variable akzeptiert (NameFile) und springt direkt zu der Frage nach den Werten. Die will er aber nicht so richtig uebernehmen, ebensowenig wie die Spalte die sich pro Durchlauf eben um 1 verschieben soll.
Bitte warten ..
Mitglied: 114757
08.01.2015, aktualisiert um 18:56 Uhr
eher so:
01.
set "NameFile=Trans" 
02.
set "werte=20,20,2,2" 
03.
set /a real=10 
04.
for /L %%a IN (1 1 %real%) DO ( 
05.
start "" /wait "C:\Programm.exe" "%NameFile%" "%werte%" "%%a"
Bitte warten ..
Mitglied: BiffBaff
08.01.2015 um 19:03 Uhr
set "werte=20,20,2,2"

Leider ist im Quellcode werte1,werte2,werte3,werte4 vorgegeben und muss in einer Zeile mit komma getrenn stehen :/
Bitte warten ..
Mitglied: 114757
08.01.2015, aktualisiert um 19:21 Uhr
Zitat von BiffBaff:

> set "werte=20,20,2,2"

Leider ist im Quellcode werte1,werte2,werte3,werte4 vorgegeben und muss in einer Zeile mit komma getrenn stehen :/

Quatsch, der Variablenname wird doch sowieso durch den Inhalt im Parameteraufruf ersetzt ...
Bitte warten ..
Mitglied: BiffBaff
13.01.2015, aktualisiert um 10:38 Uhr
Quatsch, der Variablenname wird doch sowieso durch den Inhalt im Parameteraufruf ersetzt ...

Dein Loesungsvorschlag klappt aber leider auch nicht, Bei der Abfrage nach den Werten uebernimmt er nicht jene die ich vorher ueber set deklariert habe.
Liegt es vielleicht daran, dass man in der Exe datei enter druecken muss um den 2. Parameter uebergeben zu koennen?
Bitte warten ..
Mitglied: 114757
13.01.2015, aktualisiert um 14:01 Uhr
Das bringt hier alles nix wenn wir die genaue Funktionsweise des Programms nicht kennen.
Hast du meinen und Laster's Vorschlag per Übergabe via Stdin probiert ?
Bitte warten ..
Mitglied: BiffBaff
13.01.2015 um 14:44 Uhr
Das bringt hier alles nix wenn wir die genaue Funktionsweise des Programms nicht kennen.

Das Programm fordert mich zu Eingaben auf, wie 1. Name der Ausgangsdatei, 2.die Matrixgroesse etc. und wandelt diese dann um in eine Matrixform die ich brauche. Viel mehr weiss ich leider auch nicht wie das Programm im genauen dann funktioniert.

Hast du meinen und Laster's Vorschlag per Übergabe via Stdin probiert ?

das habe ich auch ausprobiert, funktioniert leider nicht. Die Uebergabe des Namens wie oben genannt hat ja funktioniert, das muesste der richtige Ansatz sein...nur die weitere Uebergabe von Parametern nach der 2. Eingabeaufforderung funktioniert nicht.
Bitte warten ..
Mitglied: 114757
13.01.2015, aktualisiert 16.01.2015
Leider ist im Quellcode ....

Viel mehr weiss ich leider auch nicht wie das Programm im genauen dann funktioniert.
du hast doch den Quellcode, also alle Möglichkeiten !
Bitte warten ..
Mitglied: BiffBaff
13.01.2015, aktualisiert um 15:10 Uhr
write(*,*) ' Name? '
read(*,'(A)') Name
write(*,*) 'Werte ?'
read(*,*) wert1,wert2,wert3,wert4
write(*,*) ' Welche Spalte ?'
read(*,*) Spalte
write(*,*) ' Welche Verteilung ?'
read(*,*) Verteilung

der Quellcode fragt mich das hier und der rest sind schleifen und mathe. Aber es kommt ja auf diesen Abschnitt an, ich will ja nur diese variablen die die exe unter read einliest vom batch uebergeben lassen.
Bitte warten ..
Mitglied: 114757
13.01.2015 um 15:49 Uhr
was ist das für eine Programmiersprache ?
Bitte warten ..
Mitglied: BiffBaff
13.01.2015 um 16:10 Uhr
Fortran
Bitte warten ..
Mitglied: 114757
LÖSUNG 13.01.2015, aktualisiert 16.01.2015
Zitat von BiffBaff:

Fortran
Dann schreib dir das Programm um damit es die Parameter als Commandline-Parameter akzeptiert.
Der Befehl dazu findest du hier:
https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gfortran/GETARG.html

Compiler für Fortran gibt es viele:
http://www.thefreecountry.com/compilers/fortran.shtml

Ausprobieren kannst du dich sogar online:
http://www.tutorialspoint.com/compile_fortran_online.php

Und schon läuft die Suppe
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch-Datei in Exe-Datei umwandeln - .exe im Autostart (7)

Frage von Luuke257 zum Thema Batch & Shell ...

Batch & Shell
Neuere Datei per Batch ausfinding machen (2)

Frage von chattie zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...