vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB Skript (VBS)
VBScript mit Parameter aufrufen 
Autor: vb_bomber
Datum: 29.05.06 09:18

Hallo @all

Ich stehe vor dem Problem, dass ich aus einem VBScript ein weiters VBScript aufrufen will und bei diesem Aufruf eine Variable mitgeben möchte. Ist dies überhaupt möglich?
In VB funktioniert dies!
Leider hab ich dazu keinen Post in diesem Forum gefunden.

Gruß vb_bomber
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VBScript mit Parameter aufrufen 
Autor: Elwood
Datum: 29.05.06 12:27

Hallo vb_bomber,
versuch's mal so:
Dim objshell 
Dim oExec
 
Set objshell = CreateObject("WScript.Shell")
 
Set oExec    = objshell.Exec("cscript.exe DeinScript.VBS " & DeinParameter)

ciao
Elwood

Wer sp?ter bremst, ist l?nger schnell

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VBScript mit Parameter aufrufen 
Autor: vb_bomber
Datum: 29.05.06 14:00

Hallo Elwood!

Danke für deine Antwort. So funktioniert es leider nicht. Ich hab noch was anderes gefunden.
Das Script wird dann zwar ausgeführt jedoch komm ich nicht an den Parameter ran!

set WshShell = WScript.CreateObject("WScript.Shell")
 
WshShell.run "cscript DeinScript.VBS /parameter"
Gruß vb_bomber
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VBScript mit Parameter aufrufen 
Autor: Elwood
Datum: 29.05.06 14:11

Hallo vb_bomber,
hast Du in meinem Beispiel auch an das erforderliche Leerzeichen (zwischen Script und Parameter) gedacht? Das wird immer wieder gern vergessen
Dein Beispiel ist natürlich auch richtig, aber wenn Du später mal auf die Prozess-ID des aufgerufenen Scripts zurückgreifen willst, dann solltest Du die o.g. Methode verwenden.
Wenn Du auf den Parameter innerhalb Deines Scriptes zugreifen willst, dann geht das so:
dim arg()
 
   Set arg=WScript.arguments
 
' ausgeben des 1. Arguments:
' =======================
   Wscript.echo arg(0)

ciao
Elwood

Wer sp?ter bremst, ist l?nger schnell

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VBScript mit Parameter aufrufen 
Autor: vb_bomber
Datum: 29.05.06 14:27

Wunderbar jetzt funktionierts!
Ich bin nicht an den Parameter gekommen da ich nicht daran gedacht habe, dass die Rückgabe in einem Array erfolgt.
Vielen Dank!

Gruß vb_bomber!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VBScript mit Parameter aufrufen 
Autor: Dussy
Datum: 12.08.09 11:38

Hallo VB Cracks

Ich habe da jetzt mal versucht über ein skript andere Skripte zu starten, mit Parametern, aber irgendwie nimmt er mir das nicht - Hab ich da vielleicht einen gedankenfehler?

Bitte schaut euch das doch mal an, und es würde mich freuen, wenn mir einer helfen kann, wie ich bei den Skript aufrufen das richtig mache,

Herzlichen Dank .. und hier ist mein skript:

Dim myWs
 
textfile = "was-audio-1.log"
mp3file = "g:\was-audio-1.mp3"
textfile2 = "was-audio-2.log"
mp3file2 = "g:\was-audio-2.mp3"
 
Set myWs = CreateObject("Wscript.Shell") 
 
 
WScript.Echo "----------------- WAS-Audio Updater 1.0 ---------------------"
WScript.Echo "-------------------------------------------------------------"
 
' Schleife Starten
do
  cnt = cnt + 1  
 
	WScript.Echo " " 
    WScript.Echo "--- WAS-Audio mp3 werden aktuallisiert ......."   
	WScript.Echo "--- Der Vorgang kann einige Zeit in Anspruch nehmen"
	WScript.Echo "--- Dieses Fenster darf nicht geschlossen werden"
 
        'hier werden die Veriablen zu Strings zusammengeführt
	comline1 = "was-audio-1.vbs " textfile & " " & mp3file
	comline2 = "was-audio-2.vbs " textfile2 & " " & mp3file2
 
        'Skriptaufruf mit Parameter
	myWs.run comline1,6,false 
	wscript.sleep 3600
 
	myWs.run comline2,6,false 
	wscript.sleep 3600
 
 
    WScript.Echo " " 
    WScript.Echo "--- Alle WAS-Audio mp3 auf neustem Stand"
    WScript.Echo "-------------------------------------------------------------"
    WScript.Echo date & " - " & time 
    WScript.Echo "-------------------------------------------------------------"
 
 
 
    ' Pause
  'Zeitschleife: 3600000 = 1 Stunde' 
  wscript.sleep 3599520
  cnt = cnt - 1
loop until cnt > 2
Danke für jeden Hinweis.

Es wäre schön, wenn man oben am start, eben die Variablen vordefinieren könnte um so zu sagen zu verhindern, das in den unteren Zeilen rumgebaut wird

Danke: Dussy

Alles ist m?glich ..

Beitrag wurde zuletzt am 12.08.09 um 11:40:06 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VBScript mit Parameter aufrufen 
Autor: Dussy
Datum: 12.08.09 12:15

Ok - Ich hab bemerkt, das sich einige schlampigkeiten habe.

Jetzt sieht das aufrufende skript so aus und ruft auch tatsächlich mit den Parametern die skripte auf:
Dim myWs
 
textfile = "was-audio-1.log"
mp3file = "g:\was-audio-1.mp3"
textfile2 = "was-audio-2.log"
mp3file2 = "g:\was-audio-2.mp3"
 
Set myWs = CreateObject("Wscript.Shell") 
 
' Copyright Hinweis darf nicht entfernt werden'
 
WScript.Echo "----------------- WAS-Audio Updater 1.0 ---------------------"
WScript.Echo "-------------------------------------------------------------"
WScript.Echo "------ (c) 2008 Andreas Duswald / www.phpdome.de ------------"
WScript.Echo "-------------------------------------------------------------"
 
' Schleife Starten
do
  cnt = cnt + 1  
 
	WScript.Echo " " 
    WScript.Echo "--- WAS-Audio mp3 werden aktuallisiert ......."   
	WScript.Echo "--- Der Vorgang kann einige Zeit in Anspruch nehmen"
	WScript.Echo "--- Dieses Fenster darf nicht geschlossen werden"
 
	comline1 = "was-audio-1.vbs /" & textfile & " /" & mp3file
	comline2 = "was-audio-2.vbs /" & textfile2 & " /" & mp3file2
 
	myWs.run comline1,6,false 
	wscript.sleep 3600
 
	myWs.run comline2,6,false 
	wscript.sleep 3600
 
 
    WScript.Echo " " 
    WScript.Echo "--- Alle WAS-Audio mp3 auf neustem Stand"
    WScript.Echo "-------------------------------------------------------------"
    WScript.Echo date & " - " & time 
    WScript.Echo "-------------------------------------------------------------"
 
 
 
    ' Pause
  'Zeitschleife: 3600000 = 1 Stunde' 
  wscript.sleep 3599520
  cnt = cnt - 1
loop until cnt > 2
doch in dem verarbetienden skript kommt ein fehler den er anzeigt wegen der Verarbeitung der Parameter:

zB:
Skript: was-audio-1.vbs
zeile: 10
Zeichen: 1
Fehler: Typen unverträglich
Code: 800A000D
Laufzeitfehler in VB Skript


Ich denke auch, das wenn im Verzeichnissstring eine Lehrstelle wäre wie zB "Eigene Dateien" würde das nochmal ein Proplem geben oder?

Das Skript wo der Fehler nach Aufruf erscheint sieht so aus:


Dim textfile, mp3file 
Dim text,  WSHShell 
Dim AusgabeText 
Dim arg()
 
 
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set arg=WScript.arguments
 
textfile = arg(0)
mp3file = arg(1)
 
msgbox textfile
msgbox mp3file
 
'.......
Irgendeine Idee?

Alles ist m?glich ..

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VBScript mit Parameter aufrufen 
Autor: Dussy
Datum: 12.08.09 13:10

OK ich habs so gemacht in dem aufgerufenen skript, und so klappt es:

Const ForReading = 1
Const ForWriting = 2
Dim fso, textfile,  fs 
Dim text,  WSHShell 
Dim AusgabeText 
 
Set WSHShell = WScript.CreateObject("WScript.Shell")
set oArgs = Wscript.Arguments
If oArgs.Count > 0 Then
	textfile = oArgs.item(0)
	msgbox textfile
	mp3file = oArgs.item(1)
	msgbox mp3file
else
msgbox("Keine Parameter mitgegeben.")
end if
Warum auch immer!

ABER wie ich vermutet habe, is es aus, wenn man in der aufrufenden Datei oben in dem Parameter eine Lehrstelle hat zB:


textfile = "was-audio-1.log"
mp3file = "G:\Eigene Musik\was-audio-1.mp3"
textfile2 = "was-audio-2.log"
mp3file2 = "G:\Eigene Musik\was-audio-2.mp3"
Denn dan übergibt er bei der 2. Variablen natürlich nur den Teil bis zum Lehrzeichen und der rest fehlt.

wie muß ich sowas lösen, hab mich schon dumm und dämlich gesucht

Danke

Alles ist m?glich ..

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel