ExecWith_
ExecWith_
Moin,
ich habe eine Frage bezüglich "ExecWith_" und zwar weshalb löst er bei den folgenden Beispiel die gesetzte Variable nicht aus?
set $LocalCopy$ = "%SystemDrive%\tmp\depot"
ExecWith_AutoIt_BlockInput "$LocalCopy$\AutoIt3.exe" WINST /letThemGo
Alternativ Lösung die funktioniert:
ExecWith_AutoIt_BlockInput "%SystemDrive%\tmp\depot\AutoIt3.exe" WINST /letThemGo
Ich habe meines Wissen die Kombinationen ($LocalCopy$"\AutoIt3.exe" || $LocalCopy$ + "\AutoIt3.exe") getestet und sie führten beide zu den Fehler, dass $LocalCopy$ nicht "aufgelöst" wurde.
ich habe eine Frage bezüglich "ExecWith_" und zwar weshalb löst er bei den folgenden Beispiel die gesetzte Variable nicht aus?
set $LocalCopy$ = "%SystemDrive%\tmp\depot"
ExecWith_AutoIt_BlockInput "$LocalCopy$\AutoIt3.exe" WINST /letThemGo
Alternativ Lösung die funktioniert:
ExecWith_AutoIt_BlockInput "%SystemDrive%\tmp\depot\AutoIt3.exe" WINST /letThemGo
Ich habe meines Wissen die Kombinationen ($LocalCopy$"\AutoIt3.exe" || $LocalCopy$ + "\AutoIt3.exe") getestet und sie führten beide zu den Fehler, dass $LocalCopy$ nicht "aufgelöst" wurde.
Re: ExecWith_
Ohne es getestet zu haben, was passiert bei:
ExecWith_AutoIt_BlockInput "+'$LocalCopy$'+\AutoIt3.exe" WINST /letThemGo
ExecWith_AutoIt_BlockInput "+'$LocalCopy$'+\AutoIt3.exe" WINST /letThemGo
Re: ExecWith_
Exception in StartProcess_cp: Failed to execute "+'$LocalCopy$'+\AutoIt3.exe"...
Exception in StartProcess_cp: Failed to execute $LocalCopy$"\AutoIt3.exe"...
Exception in StartProcess_cp: Failed to execute ""+$LocalCopy$+"\AutoIt3.exe"
Gerade die noch einmal getestet...
Exception in StartProcess_cp: Failed to execute $LocalCopy$"\AutoIt3.exe"...
Exception in StartProcess_cp: Failed to execute ""+$LocalCopy$+"\AutoIt3.exe"
Gerade die noch einmal getestet...
Re: ExecWith_
Hi,
die Zeile:
ist Bestandteil einer primären Sektion (Actions, sub) und in diesen sind Variablen keine Platzhalter:
Aus:
http://download.uib.de/opsi4.0/doc/html ... y-commands
gruß
d.oertel
die Zeile:
Code: Alles auswählen
ExecWith_AutoIt_BlockInput "$LocalCopy$\AutoIt3.exe" WINST /letThemGo
Aus:
http://download.uib.de/opsi4.0/doc/html ... y-commands
Funktionieren müsste also:Wichtig
Stringvariablen werden in primären und sekundären Sektionen unterschiedlich behandelt. In primären Sektionen sind Stringvariablen eigenständige Objekte. Nur hier können sie deklariert und ihnen Werte zugewiesen werden. Entsprechend ist die Verbindung von Variablen und Strings zu einem Stringausdruck mit einem Operator "+" durchzuführen.
Beispiel: "Installing "+ $ProductId$ +" ..."
In sekundären Sektionen werden Stringvariablen vor der Ausführung der Sektion durch den Inhalt der Variable ersetzt.
Beispiel: "Installing $ProductId$ ..."
Dies ist zu beachten, wenn entsprechende Stringausdrücke per Cut&Paste im Skript kopiert werden.
Der Vorteil dieser Konstruktion ist, dass in Sektionen die außerhalb des opsi-winst ausgeführt werden (DosBatch / Execwith) problemlos mit Winst-Variablen gearbeitet werden kann.
Code: Alles auswählen
ExecWith_AutoIt_BlockInput $LocalCopy$+"\AutoIt3.exe" WINST /letThemGo
d.oertel
Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.
Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.
uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de
Re: ExecWith_
Danke für den Hinweis, leider kam ich nicht dazu es zu testen, aber nun habe ich es doch mal gemacht:
Führt zu folgenden Fehler:
Wird wohl wahrscheinlich ein Bug sein oder es ist nicht vorgesehen $-Variablen dort zu übergeben...
Ich nutze einfach die alternativ Lösung.
Code: Alles auswählen
ExecWith_AutoIt_BlockInput $LocalCopy$+"\AutoIt3.exe" WINST /letThemGo
Wobei eine FileExists abfrage vor der ExecWith Funktion folgendes ausspuckt:Exception in StartProcess_cp: Failed to execute "$LocalCopy$+"\AutoIt3.exe""
FileExists($LocalCopy$ + "\AutoIt3.exe") <<< result true
Wird wohl wahrscheinlich ein Bug sein oder es ist nicht vorgesehen $-Variablen dort zu übergeben...
Ich nutze einfach die alternativ Lösung.