2017-01-24 6 views
0

Zuerst habe ich VBScript erstellt, um eine Batchdatei ohne eine sichtbare Eingabeaufforderung auszuführen.Ich möchte eine .exe-Datei eines Drittanbieters aus einer .bat-Datei ohne eine sichtbare Eingabeaufforderung ausführen

Es folgt der Code:

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run Chr(34) & ("D:\Intouch_Printer_SW\spool12\spltotext.bat") & Chr(34), 0 
Set WshShell = Nothing 

Im Folgenden Code meine Batch-Datei eine dritte Partei EXE-Datei ausgeführt wird.

for %%f in (C:\WINDOWS\system32\spool\PRINTERS\*.SPL) do (
    echo %%~nf 
    start "" D:\Intouch_Printer_SW\spool12\spool.exe "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" "Intouch Printer" 
) 

Jedes Mal, wenn ich meinen vbs Code ein Konsolenfenster erscheint laufen, will ich ohne sichtbare Eingabeaufforderung, alles zu tun.

Ich glaube, ich bin ein schwarzes Fenster aufgrund dieses Schnipsel bekommen:

start "" D:\Intouch_Printer_SW\spool12\spool.exe "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" "Intouch Printer" 
+0

Haben Sie versucht Anruf statt Start? Ansonsten könnten Sie 'start/Min' verwenden, um das Befehlszeilenfenster zu minimieren. – geisterfurz007

+0

Danke Mann! Danke vielmals. Es funktionierte. –

+2

Welches der beiden? Ich möchte eine Antwort hinzufügen :) – geisterfurz007

Antwort

1

start den Befehl in einem neuen Fenster geöffnet. Es ist nicht für die Ausführung von Konsolenanwendungen erforderlich, so können Sie es einfach entfernen:

for %%f in (C:\WINDOWS\system32\spool\PRINTERS\*.SPL) do (
    echo %%~nf 
    D:\Intouch_Printer_SW\spool12\spool.exe "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" "Intouch Printer" 
) 

Außerdem würde ich die Batch-Skript synchron aus dem VBScript (3. Argument der Run Methode auf True) empfehlen ausgeführt wird, zu Vermeiden Sie unerwünschte Nebenwirkungen, sollte jemand das VBScript ändern.

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run """D:\Intouch_Printer_SW\spool12\spltotext.bat""", 0, True 
Verwandte Themen