# Batch Datei über VB6 erstellen



## Sniperdennis (16. März 2008)

Hallo,
undzwar will ich versuchen über Visual Basic eine Batch Datei zu erstellen und sie anschließend ausführen. Auf der Form hab ich mehrere Textboxen plaziert in der einen steht z.b. der Username und in der anderen das Userpasswort und in noch einer anderen der Pfad von einem ordner wo z.b. einer .rb datei drin liegt.
In einer batch Detei sieht das ganze so aus:
cd "C:\Dokumente und Einstellungen\DerBenutzer\Desktop\Beispiel\"
ruby dierbdatei.rb Username Userpassword
pause

Wie mach ich jetzt das jetzt damit das jetzt also der Username und der rest den ich in die Textboxen reingeschrieben habe soll in die Batch Detei übernommen werden.

MfG


----------



## Dario Linsky (16. März 2008)

Hallo,

wieso willst du das ganze über den Umweg einer Batch-Datei machen? Du kannst die Ausführung von externen Programmen doch auch direkt aus VB heraus auslösen. Siehe z.B. http://www.tek-tips.com/faqs.cfm?fid=2299

Wenn du die Batchdatei anderweitig brauchst, musst du diese als normale Textdatei öffnen und die Daten aus dem Formular mit String-Operationen aufbereiten und dort hinein schreiben. Such mal hier im Forum, zur Bearbeitung von Textdateien und Strings gibt es schon einige Themen.

Und zur Ausführung der Batchdatei hilft dir dann ggf. wieder der Link weiter.

Grüße, D.


----------



## Sniperdennis (16. März 2008)

Boa ich glaub ich krieg das nicht hin. So sieht das ja in der Batch datei aus:
cd "C:\Dokumente und Einstellungen\DerBenutzer\Desktop\Beispiel\"
ruby dierbdatei.rb Username Userpassword
pause

Aber es muss ja Irgendwie so werden:
ruby dierbdatei.rb Name.Text  Password.Text

Ich blick da irgendwie nicht ganz durch.

MfG


----------



## Dario Linsky (16. März 2008)

Hi,


```
Dim zeile As String
' ...
zeile = "ruby diedatei.rb " & Name.Text & " " & Password.Text
```

damit hast du das gesamte Kommando als String in der Variable "zeile". Diese Variable müsstest du jetzt entweder in eine Textdatei schreiben (falls du weiterhin auf der Batch-Datei bestehst) oder eben an die VB-Funktion zum Programmaufruf übergeben.

Grüße, D.


----------



## Sniperdennis (16. März 2008)

Ich bekomme bei Name.Text einen Fehler ungültiger Bezeichner. Sorry bin übelster Anfänger....


----------



## Dario Linsky (16. März 2008)

Hallo,

wie heißen denn die Textboxen im Formular (wie ist die Eigenschaft "(Name)" eingestellt)? Versuchst du im Code zum Formular auf diese Textboxen zuzugreifen?

Grüße, D.


----------



## Sniperdennis (16. März 2008)

Also die eine Textbox wo der Username drin stehen soll heißt "Name" wo das Passwort drin ist halt "Passwort"... Und der soll halt den Usernamen aus der Textbox "Name" entnehmen...

EDIT: Sry... ich weiß nicht wo ich gerade mit den gedanken war aber liegt wohl nicht am Name sondern ganz oben...


----------



## Sniperdennis (16. März 2008)

Sry das ich ein Doublepost mach aber wenn ich edditiere schaut hier keiner mehr rein und ein Doublepost ist immer noch besser als ein neues Thema...

Also jetzt zur sache. Man könnte das doch auch mit AppActivate und SendKeys machen aber ich krieg bei AppActivate einen Laufzeitfehler 5 ungültiger Prozeduraufruf oder ungültiges Argument ich versteh nicht was daran falsch ist...


```
Private Sub command1_Click()
Dim AppID As Long
AppID = Shell("c:\windows\system32\cmd.exe", vbNormalNoFocus)
DoEvents
AppActivate AppID
SendKeys "beispiel"
End Sub
```

MfG


----------

