zeretor
Goto Top

Start einer Batch-Datei aus einem VBS

Zuerst mal "Hallo"... ist mein erster Beitrag hier, ich hoffe ich mache alles richtig (wenn nicht bitte Tipps geben^^).
Ich lerne eigentlich Chemie, aber da mich PCs allgemein interessieren wollte ich ein wenig mehr wissen als unser AInf Professor, der sogar mit Excel kämpft.
Genug der Geschichten.

Ich würde gern wissen, wie man mittels "visual basic script-datei" eine batch-datei aufruft, oder zumindest cmd, dann müsste ja
[SendKeys "call xy.bat"]
[SendKeys "{ENTER}"]
funktionieren, oder?

Ich hoffe ihr wisst eine simple Lösung - danke im Vorraus.

Content-ID: 59199

Url: https://administrator.de/contentid/59199

Ausgedruckt am: 23.11.2024 um 05:11 Uhr

bastla
bastla 16.05.2007 um 22:25:33 Uhr
Goto Top
Hallo Zeretor und willkommen im Forum!

Im Prinzip genügt
Set oShell = WScript.CreateObject("WScript.Shell")  
oShell.Run "D:\xy.bat"  
Falls Du auf das Ende der Batch-Datei warten willst, bevor es im VB-Script weiter geht, dann:
Set oShell = WScript.CreateObject("WScript.Shell")  
oShell.Run "D:\xy.bat",,True  
Zwischen den beiden Kommata kannst Du noch die Art des Fenster angeben - Werte (aus der Hilfedatei "script56de.chm"):

intWindowStyleBeschreibung
0Blendet das Fenster aus und aktiviert ein anderes Fenster.
1Aktiviert ein Fenster und zeigt es an. Wenn das Fenster minimiert oder maximiert ist, stellt das System es mit seiner ursprünglichen Größe und Position wieder her. Eine Anwendung sollte dieses Flag angeben, wenn das Fenster zum ersten Mal angezeigt wird.
2Aktiviert das Fenster und zeigt es als minimiertes Fenster an.
3Aktiviert das Fenster und zeigt es als maximiertes Fenster an.
4Zeigt ein Fenster in der jeweils aktuellen Größe und Position an. Das aktive Fenster bleibt aktiv.
5Aktiviert das Fenster und zeigt es in der aktuellen Größe und Position an.
6Minimiert das angegebene Fenster und aktiviert das Fenster auf der nächstniedrigen Ebene in der Z-Reihenfolge.
7Zeigt das Fenster als minimiertes Fenster an. Das aktive Fenster bleibt aktiv.
8Zeigt das Fenster in seinem aktuellen Zustand an. Das aktive Fenster bleibt aktiv.
9Aktiviert das Fenster und zeigt es an. Wenn das Fenster minimiert oder maximiert ist, stellt das System es mit seiner ursprünglichen Größe und Position wieder her. Eine Anwendung sollte dieses Flag angeben, wenn ein minimiertes Fenster wiederhergestellt wird.
10Legt den Anzeigezustand basierend auf dem Zustand des Programms fest, das die Anwendung gestartet hat.

HTH
bastla
Zeretor
Zeretor 16.05.2007 um 22:39:13 Uhr
Goto Top
Danke für die schnelle Antwort, doch ich befürchte, ich mache einen elementareren Fehler...
Ich habe natürlich vor dem erstellen des Beitrags auch im Netz gesucht, da war auch einiges und nichts hat funktioniert (auch wenn es nirgendwo SO übersichtlich formuliert war).

Eingefügt, gestartet:
"Fehler: Variable ist nicht definiert: 'oShell'"
"Quelle: Laufzeitfehler in Microsoft VBScript"

Was bitte mache ich falsch? Kann mein PC ev. nicht alle Vbs Befehle, benötige ich ein Extra-Program?
Dani
Dani 16.05.2007 um 23:12:58 Uhr
Goto Top
G' Abend,
probiere es mal so:
Dim oShell

Set oShell = WScript.CreateObject("WScript.Shell")  
oShell.Run "D:\xy.bat"  
Ungetestet!!


Gruß
Dani
Zeretor
Zeretor 16.05.2007 um 23:45:40 Uhr
Goto Top
Klappt - vielen Dank euch beiden!
mfg Zeretor

PS: wenns niemand mehr braucht, /closed
Biber
Biber 17.05.2007 um 14:44:01 Uhr
Goto Top
Moin Zeretor,

auch von mir willkommen im Forum.
erster Beitrag hier, ich hoffe ich mache alles richtig (wenn nicht bitte Tipps geben^^).
Okay....
...danke im Vorraus.
Diese Floskel ist in Foren unbeliebt (egal ob mit einem oder zwei "r".
Weil sie impliziert, dass der Verfasser vorab dankt und auf mögliche Antworten nicht mehr antwortet.
Dann erfährt allerdings auch niemand, ob der Lösungsvorschlag geholfen hat oder Bullshit war.
---> Also besser tunlichst vermeiden.
PS: wenns niemand mehr braucht, /closed
Ich schließe den Beitrag auch, aber nicht, weil ihn niemand mehr braucht, sondern weil es eine sinnvoll abgegrenzte Frage mit sinnvollen Antworten war...
->da lässt sich durch mehr Quantität kaum etwas steigern.
"Brauchbar" ist dieser Beitrag durchaus auch für spätere Mitleser.

Grüße
Biber