# DOS Befehl aufrufen mit VBS



## Eyewitness (23. Januar 2002)

Folgendes Problem stellt sich mir: Ich muß ein DOS Programm aus einem VB Script heraus aufrufen mit sich wahlweise verändernden Befehlszeilen. Dazu meine simple Frage: wie geht das?


----------



## Daniel Toplak (23. Januar 2002)

Also von VB-Script hab ich nicht so viel Ahnung, aber ich geh mal stark davon aus, daß es sehr Verwand mit VB ist. Und da würde ich sowas mit der "Shell" Funktion machen:

z.B.:
    Shell("c:\programm.exe" & paramter)

wobei parameter ein String-Variable ist in der die Parameter mit denen du das Programm aufrufst stehen. Beispiel: parameter = "-s"

Wenn ich das nicht richtig verstanden habe und du nur verschiedene Programme über dein Script aufrufen willst, denen du keine Parameter übergibst. Dann versuch das einfach so:

    Shell(programmname)

wobei in der String-Variablen programmname dein kompletter Pfad zu deiner Anwendung stehen muss.
Übrigens mit der App.Path Eigenschaft kannst du den Pfad verwenden, in dem sich dein Programm befindet. Beispielsweise so:

    Shell(App.Path & programmname)

dann brauchst du in programmname nur noch den Dateinamen (z.B. programm.exe) speichern, der muss sich allerdings im selben Pfad wie dein Programm (VB-Script) befinden.

Ich hoffe dir geholfen zu haben.
Gruss Homer


----------



## Eyewitness (24. Januar 2002)

Jupp, hast Du! Danke für die Info!


----------



## Wommi (6. Mai 2002)

Private Sub Command1_Click()
rechner = txt_rechner.Text
raum = txt_raum.Text
message = txt_message.Text
parameter = "netsend n" & raum & "w" & rechner & " " & message
txt_befehl.Text = parameter
Shell ("c:\WINNT\system32\Cmd.exe " & parameter)
End Sub

so angeblich findet er die datei nich oderes passiert nix parameter is auch richtig aber passiert halt nix

umgebung winnt is klar

HILFE!


----------



## J1M1 (25. März 2005)

Hi leutz!
bin noch ziemlich neu hier!
ich möchte auch so was ähnliches machen... dieses skript ist nur experimentell... allerdings weiß ich nicht was ich falsch mache...es wird nämlich nicht ausgeführt!

hier der quelltext:



ExecuteDOS "netstat"

sub ExecuteDOS(befehl)
       set WSHShell = CreateObject ("WScript.Shell")
       resultat = WSHShell.Run (" %Comspec%  " & "" & Befehl , , true) 
end sub


                                                         Mfg J1M1


----------



## reflexor (27. März 2005)

@ Wommi !

mir schaut es so aus also ob du den Tollen "net send" Befehl als Programm haben möchtest!

Du brauchst dazu nur 2 Textfelder und ein Button!

Textfeld1 (Text1) ist das wo die IP bzw der Rechnername rin kommt
Textfeld2 (Text2) ist das wo die Message rein kommt
Command1 ist der Senden button

------------------------->

Private Sub Text1_Change()

End Sub

---------------------------------------

Private Sub Text2_Change()

End Sub

---------------------------------------

Private Sub Command1_Click()
Shell "net send " + Text1 + " " + Text2
End Sub


ich hoffe ich habe das richtig verstanden was du machen wolltest!


----------

