meta data for this page
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
externes-programm [2014/01/11 16:01] – Externe Bearbeitung 127.0.0.1externes-programm [2018/07/28 10:33] (aktuell) michael
Zeile 1: Zeile 1:
 +====== Externes Programm aufrufen ======
 +
 ===== Externes Programm aufrufen ===== ===== Externes Programm aufrufen =====
-====== Table of Contents ====== + 
-[[#x-Externes Programm aufrufen|Externes Programm aufrufen]][[#x-DOS Befehle ausführen|DOS Befehle ausführen]][[#x-Rückgabewert verarbeiten|Rückgabewert verarbeiten]][[#x-URL aufrufen|URL aufrufen]]//VBScript://\\ +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]>
   Dim oWSHShell   Dim oWSHShell
   Dim Aufruf   Dim Aufruf
Zeile 8: Zeile 12:
   Set oWSHShell = CreateObject("WScript.Shell")   Set oWSHShell = CreateObject("WScript.Shell")
   oWSHShell.Run Aufruf   oWSHShell.Run Aufruf
-   +</code>    
 Um einen Pfad nachträglich zu maskieren, benötigt man reichlich Anführungszeichen:\\  Um einen Pfad nachträglich zu maskieren, benötigt man reichlich Anführungszeichen:\\ 
 +
 +<code VBScript [enable_line_numbers="true"]>
   Pfad = """" & Pfad & """"   Pfad = """" & Pfad & """"
   'oder wenn sowieso die Zeichenkette zusammengesetzt werden muss   'oder wenn sowieso die Zeichenkette zusammengesetzt werden muss
   Pfad = Chr(34) & Pfad & Chr(34)   Pfad = Chr(34) & Pfad & Chr(34)
-\\ //JScript://\\ +</code>   
 + 
 +//JScript:// 
 + 
 +<code JavaScript [enable_line_numbers="true"]>
   function openProg(progname)   function openProg(progname)
   {   {
Zeile 20: Zeile 31:
   oWSHShell.Run(progname, 10, true);   oWSHShell.Run(progname, 10, true);
   }   }
 +</code>
 +  
 ===== DOS Befehle ausführen ===== ===== DOS Befehle ausführen =====
- Manchmal ist es sinnvoll, einen DOS-Befehl aus einer Skriptdatei heraus auszuführen. Dabei muss der Pfad zum Kommandozeileninterpreter (//command.com// oder //cmd.exe//) expliziet angegeben werden, was über die Umgebungsvariable //COMSPEC// geschehen kann.\\  Nachfolgendes Beispiel zeigt den Inhalt von C:\ an:\\ + 
 +Manchmal ist es sinnvoll, einen DOS-Befehl aus einer Skriptdatei heraus auszuführen. Dabei muss der Pfad zum Kommandozeileninterpreter (//command.com// oder //cmd.exe//) expliziet angegeben werden, was über die Umgebungsvariable //COMSPEC// geschehen kann.\\  Nachfolgendes Beispiel zeigt den Inhalt von C:\ an:\\  
 + 
 +<code Batch [enable_line_numbers="true"]>
   Set ws = CreateObject("WScript.Shell")   Set ws = CreateObject("WScript.Shell")
   ws.Run "%COMSPEC% /K DIR C:\",1   ws.Run "%COMSPEC% /K DIR C:\",1
 +</code>  
 \\  %COMSPEC% ist je nach Betriebssystem die Umgebungsvariable für //command.com// oder //cmd.exe//\\  %COMSPEC% /K bedeutet: Eingabeaufforderung bleibt geöffnet\\  %COMSPEC% /C bedeutet: Schließen der Eingabeaufforderung nach Ausführung des Befehls\\ \\  Grundsätzlich poppt eine Eingabeaufforderung auf. Diese kann jedoch unterdrückt werden. Das nachfolgende Beispiel läuft unsichtbar ab und löscht eine Datei:\\  \\  %COMSPEC% ist je nach Betriebssystem die Umgebungsvariable für //command.com// oder //cmd.exe//\\  %COMSPEC% /K bedeutet: Eingabeaufforderung bleibt geöffnet\\  %COMSPEC% /C bedeutet: Schließen der Eingabeaufforderung nach Ausführung des Befehls\\ \\  Grundsätzlich poppt eine Eingabeaufforderung auf. Diese kann jedoch unterdrückt werden. Das nachfolgende Beispiel läuft unsichtbar ab und löscht eine Datei:\\ 
 +
 +<code Batch [enable_line_numbers="true"]>
   Set ws = CreateObject("WScript.Shell")   Set ws = CreateObject("WScript.Shell")
   ws.Run "%COMSPEC% /C DEL C:\test.txt",0   ws.Run "%COMSPEC% /C DEL C:\test.txt",0
-\\ +</code>   
 + 
 ===== Rückgabewert verarbeiten ===== ===== Rückgabewert verarbeiten =====
- Ruft man per Skript ein externe Kommandozeilentool auf und möchte die __Rückgabewert__ dieses Tools im Skript __weiterberarbeiten__, so scheitert einen Umleitung der Programmausgaben mittels ">" bzw. ">>" in eine Datei. Es tritt dann ein Fehler auf. Es gelingt aber mit dem [[/WScript%20in%20FixFoto|Windows Scripting Host]]-Befehl //WshShell.Exec//\\ \\ //VBScript//\\ + 
 +Ruft man per Skript ein externe Kommandozeilentool auf und möchte die __Rückgabewert__ dieses Tools im Skript __weiterberarbeiten__, so scheitert einen Umleitung der Programmausgaben mittels ">" bzw. ">>" in eine Datei. Es tritt dann ein Fehler auf. Es gelingt aber mit dem [[/WScript%20in%20FixFoto|Windows Scripting Host]]-Befehl //WshShell.Exec//\\ \\  
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]>
   'Bsp.: Ausgabe des DIR-Befehls   'Bsp.: Ausgabe des DIR-Befehls
   Aufruf = "%COMSPEC% /C DIR C:\"   Aufruf = "%COMSPEC% /C DIR C:\"
Zeile 36: Zeile 61:
   Ausgabe = oExec.StdOut.readall   Ausgabe = oExec.StdOut.readall
   MsgBox Ausgabe   MsgBox Ausgabe
-Das führt aber zu dem unschönen Effekt, dass sich kurz ein DOS-Fenster öffnet. Um das zu umgehen kann der Aufruf mit Hilfe der Funktion ExecHidden realisiert werden:\\ \\ //VBScript//\\ +</code>   
 + 
 +Das führt aber zu dem unschönen Effekt, dass sich kurz ein DOS-Fenster öffnet. Um das zu umgehen kann der Aufruf mit Hilfe der Funktion ExecHidden realisiert werden: 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]>
   'Bsp.: Ausgabe des DIR-Befehls   'Bsp.: Ausgabe des DIR-Befehls
   Aufruf = "%COMSPEC% /C DIR C:\"   Aufruf = "%COMSPEC% /C DIR C:\"
Zeile 59: Zeile 90:
        CreateObject("Scripting.FileSystemObject").DeleteFile( Tmp )        CreateObject("Scripting.FileSystemObject").DeleteFile( Tmp )
   End Function   End Function
-\\ +</code> 
 ===== URL aufrufen ===== ===== URL aufrufen =====
-\\  In gleicher Weise können auch Webseiten aufgerufen werden\\ \\  VBScript:\\ + 
 +In gleicher Weise können auch Webseiten aufgerufen werden 
 + 
 +//VBScript:// 
 + 
 +<code VBScript [enable_line_numbers="true"]>
   Dim oWSHShell   Dim oWSHShell
  
   Set oWSHShell = CreateObject("WScript.Shell")   Set oWSHShell = CreateObject("WScript.Shell")
   oWSHShell.Run "http://www.fixfoto.info/"   oWSHShell.Run "http://www.fixfoto.info/"
 +</code>
        
-\\  JScript:\\ +//JScript:// 
 + 
 +<code JavaScript [enable_line_numbers="true"]>
   function openLink(url)   function openLink(url)
   {   {
Zeile 74: Zeile 114:
   oWSHShell.Run(url,0,false);   oWSHShell.Run(url,0,false);
   }   }
 +</code>