WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

verschiedene batch files ausführen

 

Bax

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2008, 13:26     Titel: verschiedene batch files ausführen
  Antworten mit Zitat      
Hallo miteinander,

habe folgendes Problem: Matlab sollte verschiedene batch files ausführen, an sich ja kein Problem mit !meinfile.bat &. Jetzt hat es aber nicht immer gleichviele .bat files im verzeichnis. z.b meinfile1.bat, meinfile2.bat etc...
wie realisiere ich dass matlab nun alle diese .bat-files ausführt? (die reihenfolge spielt dabei nicht einmal eine rolle...).

Gruss und Dank

Bax


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 10.07.2008, 14:10     Titel:
  Antworten mit Zitat      
Hi,

Du könntest mit
Code:
liste=dir('*.bat');
eine Liste aller bat-Dateien anlegen und die in einer Schleife abarbeiten.
Zum Einlesen aller Dateien in einem Verzeichnis gibt es hier im Forum schon viele Beiträge, da kannst Du bestimmt einige Ideen übernehmen.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Bax

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2008, 14:38     Titel:
  Antworten mit Zitat      
vielen dank erstmal,

aber eine liste der files zu erstellen ist nicht das problem. ich weiss bloss nicht
wie ich dann alle files aus dieser liste ausführen lassen soll....

for i = 1:length(liste)
! liste(i) &
end

geht ja nicht. --> der befehl "liste(i)" ist entweder falsch geschrieben oder konnte nicht gefunden werden.


gruss bax
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 10.07.2008, 14:49     Titel:
  Antworten mit Zitat      
Hi,

es müsste so klappen:
Code:
clear all;
clc;

liste=dir('*.bat');
for k=1:length(liste)
    eval(['!' liste(k).name]);
    % oder
    dos(liste(k).name);
end

_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 10.07.2008, 14:49     Titel:
  Antworten mit Zitat      
Moin,

schau dir mal die Hilfe zu
Code:
an und such mal hier im Forum nach "mehrere dateien einlesen" o.ä.! Da wirst du jede Menge dazu finden, wie du auf die einzelnen Namen (Stichwort Wink ) der .bat-files innerhalb der for-Schleife zugreifen kannst.

Gruß
Alex
_________________

>> 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?
Private Nachricht senden Benutzer-Profile anzeigen
 
Bax

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2008, 14:58     Titel:
  Antworten mit Zitat      
Jaaaaa!
Genau nach sowas wie dem eval() hab ich gesucht!
Fantastisch!

Ich glaub ich schau hier öfters mal vorbei... Smile

Gruss vom Bax
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 10.07.2008, 15:00     Titel:
  Antworten mit Zitat      
eval() ??!!

Poste doch mal den Code den du jetzt benutzt...
_________________

>> 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?
Private Nachricht senden Benutzer-Profile anzeigen
 
Bax

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.07.2008, 15:09     Titel:
  Antworten mit Zitat      
siehe vorschlag von nschlange

Code:

for i = 1:number_of_cpus;
    string = ['simion_tester' int2str(i) '.bat']
    eval(['!' string])
end
 


das klappt wunderbar.
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 10.07.2008, 15:33     Titel:
  Antworten mit Zitat      
Achso... ich hab den Vorschlag von nschlange nicht gesehen, da er zeitgleich geschrieben hat...

so gehts natürlich Wink

Gruß
Alex
_________________

>> 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?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.