|
|
Übergabe von Variablen bei dos Befehl |
|
riverlove |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 26.01.09
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.01.2009, 15:29
Titel: Übergabe von Variablen bei dos Befehl
|
|
Hallo,
lese schon seit ein paar Monaten immer eifrig mit. Nun habe ich selber eine Frage..sicher relativ einfach zu beantworten!
Ich benutze den "dos" Befehl oder den !operator in Matlab um eine exe aufzurufen, und dieser Übergabevariablen mitzugeben.
Bsp:
dos('prog\testprog.exe 1.0 4 4 199 2 ./desparo < temp/crossval.txt');
bzw
!prog\testprog.exe 1.0 4 4 199 2 ./desparo < temp/crossval.txt
dies funktioniert ohne probleme.
Wie mache ich es denn wenn ich zb die 199 abgespeichert habe und so direkt übergeben will.
bsp.
anzahl = 199;
dos('prog\testprog.exe 1.0 4 4 anzahl 2 ./desparo < temp/crossval.txt');
funktioniert so nich.. da matlab anzahl als string natürlich weitergibt.
also wie bekomm ichs hin das anzahl als zahl weitergegeben wird?
Es geht darum, dass das ganze in einer Schleife abläuft und "anzahl" immer anders ist!
Danke für eure Hilfe,
Grüße
|
|
|
|
|
Bijick |
Ehrenmitglied
|
|
Beiträge: 914
|
|
|
|
Anmeldedatum: 18.06.07
|
|
|
|
Wohnort: Nürnberg
|
|
|
|
Version: R2006b, R2008b
|
|
|
|
|
|
Verfasst am: 28.01.2009, 15:46
Titel:
|
|
Hallo riverlove,
bei ganzen Zahlen geht es am einfachsten so:
Herzliche Grüße
Bijick
_________________
>> why
|
|
|
Silverhawk |
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 20.11.08
|
|
|
|
Wohnort: Braunschweig
|
|
|
|
Version: R2008b
|
|
|
|
|
|
Verfasst am: 12.03.2009, 11:08
Titel:
|
|
Mein Problem liegt gerade dabei, dass ich ein Virtual Dub Script anstarten möchte.
Dies geht eigentlich mit dem Befehl: vdub.exe /s script.txt. das klappt von der normalen windows kommandozeile auch wunderbar.
Nur wenn ich mit Matlab den Befehl ausführe sagt er mir:
Cannot open file "script.txt":
Das System kann die angegebene Datei nicht finden.
woran kann das liegen?
_________________
Lauf nicht weg sagte der Drache, ich will doch nur kosten....
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.03.2009, 11:20
Titel:
|
|
Vielleicht hilft es, den vollen Pfad von der skript.txt anzugeben:
"C:\irgendwo auf der platte\skript.txt"
Wenn Leerzeichen im Namen sind, dann unbedingt mit Anführungszeichen.
|
|
|
Silverhawk |
Forum-Anfänger
|
|
Beiträge: 17
|
|
|
|
Anmeldedatum: 20.11.08
|
|
|
|
Wohnort: Braunschweig
|
|
|
|
Version: R2008b
|
|
|
|
|
|
Verfasst am: 12.03.2009, 12:22
Titel:
|
|
hätte ich auch selbst mal drauf kommen können
Vielen dank
_________________
Lauf nicht weg sagte der Drache, ich will doch nur kosten....
|
|
|
Florian |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.06.2009, 09:54
Titel:
|
|
|
|
|
Hi,
ich denke ich habe ein ähnliches Problem! ich möchte über matlab ein Programm ausführen. dieses Programm muss normalerweise über die Windows-Eingabeaufforderung aufgerufen werden. Wenn man sich innerhalb des Ordners (nennen wir ihn "Dokumente und XYZ") in der Eingabeaufforderung befindet, muss man einen Befehl eingeben, der aus Buchstaben, Leerzeichen und Zahlen besteht. Diese Kann das Programm dann verarbeiten.
was hab ich bis jetzt in Matlab ausprobiert?
durch den Beitrag oben, bin ich auf den DOS-Befehl aufmerksam geworden. Er scheint wie geschaffen für meine Zwecke .... ich habe also den richtigen Pfad gefunden, und kann zum BSP. mit:
die abc.exe problemlos öffnen! Eigentlich möchte ich aber sowas eingeben:
In der Eingabeaufforderung funktioniert das so, aber Matlab meckert:
----Der Befehl "C:\Dokumente" ist entweder falsch geschrieben oder
konnte nicht gefunden werden. ----
Wie oben schon erwähnt, hab ich auch schon Anführungszeichen um den String gesetzt, aber da meckert er genauso.
Hab ich die eventuell falsch gesetzt?
gibt es Probleme mit den eckigen Klammern und den Zahlen?
Ich hoffe ihr könnt mir wieder einmal weiter helfen - Danke schonmal
Florian
|
|
|
Florian |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.06.2009, 14:35
Titel:
|
|
hey,
da die antwort für mich recht dringend ist und dieses Thema schon als "beantwortet" aufgeführt ist, schreibe ich besser einen eigenen Beitrag.
Titel lautet:
Anwendung DOS-Befehl
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.06.2009, 14:38
Titel:
|
|
|
|
steve |
Ehrenmitglied
|
|
Beiträge: 2.029
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: Wien
|
|
|
|
Version: R2024a
|
|
|
|
|
|
Verfasst am: 17.06.2009, 17:03
Titel:
|
|
Florian hat Folgendes geschrieben: |
hey,
da die antwort für mich recht dringend ist und dieses Thema schon als "beantwortet" aufgeführt ist, schreibe ich besser einen eigenen Beitrag.
Titel lautet:
Anwendung DOS-Befehl |
Du kannst auch einfach den Status wieder ändern - dazu ist der ja da
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Florian |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.06.2009, 21:00
Titel:
|
|
Hey,
ich habs noch nicht begriffen - sorry...
bedeutet Epfi´s beitrag, dass es egal sein sollte, wie ich es eingebe? An den Ziffern, Punkten und Klammern kann es also nicht liegen?
wenn nicht, könnt Ihr mir weiterhelfen, wie ich das Programm sonst öffnen kann?
mein Problem mit etwas anderen Worten
......
In der Windows-Eingabeaufforderung habe ich mich bis zu meinem gewünschten Ordner (C:\Dokumente und XYZ\ ) "durchgekämpft".
Bis dahin mach ich auch keine Fehler in Matlab (weil ja das öffnen der "abc.exe" funktioniert).
In der Windows-Eingabeaufforderung müsste ich in meinem Ordner die folgende Zeile eingeben, damit mein gewünschtes Programm aufgerufen wird: "hallo nameA.wav [0 lx 1 20]"
Wenn ich das in meinem Dos-Befehl in Matlab mit reinschreibe, kommt die Fehlermeldung (siehe oben).
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.06.2009, 21:32
Titel:
|
|
Sorry, habe dich falsch verstanden - ist Blödsinn, was da oben steht.
Anführungszeichen setzen könnte so klappen:
Also die Parameter nicht mehr in die Anführungszeichen mit reinnehmen.
|
|
|
Florian |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.06.2009, 09:02
Titel:
|
|
hey,
klappt prima!!!!
er hat auch keine probleme mit den eckigen klammern (wie ich befürchtet hatte)
total toll
DANKE!!!
|
|
|
LBF |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.10.2009, 14:06
Titel: Weitere Eingaben machen
|
|
Hallo
habe ein ähnliches Problem.
Möchte über den dos Befehl ein tool starten, welches allerdings noch 2 weitere Eingaben benötigt.
ich starte es folgendermaßen:
dos('M:\dir\tool.exe' )
Danach ist er kurz beschäftigt und erwartet dann von mir die Eingabe der Inputdatei und darauf noch mal einen namen für den output.
Das Tool kann mit Übergaben nichts anfangen und es stammt auch nicht von mir, sonst wäre das schon geändert....
Wie kann ich matlab dazu bringen noch mal 2 vorher festgelegte Eingaben bei den nächsten Eingabemöglichkeiten zu machen?
Habe es mit übergaben im dos und ! probiert aber klappte leider nicht.
Eine Stunde Suche hat mir irgendwie auch noch nix gebracht
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 20.10.2009, 16:14
Titel:
|
|
Hallo versuch mal das:
oder dies:
|
|
|
LBF |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.10.2009, 16:25
Titel:
|
|
Danke, aber hat mir nicht weitergeholfen...
naja vielleicht kommts mir über wochenende, das fängt bei mir nämlich jetzt an
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|