Batch Datei aus Basic aufrufen

  • #1
L

Lungo

Neues Mitglied
Themenersteller
Dabei seit
16.03.2005
Beiträge
4
Reaktionspunkte
0
Hallo,
vielleicht kann mir jemand helfen, ich fange gerade an mich mit Basic zu beschäftigen und bin bereits kurz vorm verzweifeln  :-\ . Ich will aus Basic eine Batch Datei aufrufen und an diese dabei einen Parameter übergeben. Wenn ich einen fixen Pfad wie den folgenden verwende, funktioniert dies ohne Probleme:
result = Shell(C:\Dokumente und Einstellungen\Administrator\RulesPrompt\aufrufe.bat de_DE, 1)

Wenn ich jedoch für diesen fixen Pfad einen vaiablen eingeben will funktioniert der Aufruf nicht mehr.
result = Shell(dirInputPath.Path & \aufrufe.bat de_DE, 1)

Das ganze scheint irgendwie mit der Übergabe des Parameters (de_DE) zusammenzuhängen, denn die Batch Datei startet wenn ich diesen weglasse (aber natürlich fehlerhaft ohne Parameter).

Es wäre sehr nett wenn mir jemand sagen könnte wie man einen Parameter an eine Batch Datei übergibt und dabei einen variablen Pfad verwendet.

Vielen Dank
Lungo
 
  • #2
  • #3
nee, das hab ich auch schon probiert.
Hierbei gibt Visual Basic folgenden Fehler beim Compilieren aus:

Erwartet: Listentrennzeichen oder )

... was auch immer das zu bedeuten hat.
 
  • #4
Hallo.
Die Zeile
Code:
result = Shell(dirInputPath.Path & \aufrufe.bat de_DE, 1)
ist schon fast richtig. Fehlt allerdings min ein &-Zeichen.

Code:
dim strPar as string
dim strInputPath as string
strInputPath=C:\Dokumente und Einstellungen\Administrator\RulesPrompt
strPar= de_DE
Shell strInputPath & \aufrufe.bat & strPar, 1
Nun sollten alle Klammern, Gänsefüsschen und &-Zeichen stimmen. Auf den Rückgabewert von Shell kann/sollte man ja auch verzichten.

Falls es immer noch nicht funktioniert, probiere es mit der Api-Funktion ShellExecute (die besser geeignet)
Code:
Private Declare Function ShellExecute Lib shell32.dll Alias _
    ShellExecuteA (ByVal hwnd As Long, ByVal lpOperation _
    As String, ByVal lpFile As String, ByVal lpParameters _
    As String, ByVal lpDirectory As String, ByVal nShowCmd _
    As Long) As Long
 
  • #5
Also erstmal vielen Dank an alle, die mir geantwortet haben. Ich habe heute Morgen nochmal alle möglichen Variationen ausprobiert und man mag es kaum glauben jetzt läuft es. Also hier meine Variante:

Dim strPar As String
Dim strInputPath As String
strInputPath = & dirInputPath.Path & \aufrufe.bat &
strPar = de_DE
result = Shell(strInputPath & strPar, 1)

ciao
Lungo
 
Thema:

Batch Datei aus Basic aufrufen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben