VBS immer in der CMD-Konsole ausführen und immer ohne Logo ausführen
26.08.2008
16:09:26 Uhr11677 Aufrufe
4 Antworten
16:09:26 Uhr
4 Antworten
Noch nicht bewertet
Hallo ans Forum
Was mich an VBS-Scripts immer gestört hat, ist einerseits die Tatsache, dass VBScripts standardmässig mit WScript.exe ausgeführt werden und nicht mit CScript.exe. Andererseits nervt mich bei der Ausgabe in der Konsole das folgende Logo:
Das Teil stört vorallem dann, wenn man die Ausgabe des Scripts kurz mit ">" in ein Textfile umleiten will. Mit 2 kleinen Tricks bringt man Windows dazu, 1. VBS-Scripts immer mit CScript aus zu führen und 2. die Ausgabe immer ohne Logo darzustellen.
ACHTUNG: Die folgenden beiden Tipps habe ich nur unter Vista getestet!
Dazu muss man nur die folgende Zeile in einem CMD-Fenster oder im "Ausführen..:"-Fenster ausführen (mit Adminrechten!):
Damit wird der Standard-Scripthost von WScript auf CScript geändert.
Packt den folgenden Code in ein *.reg-File und führt es als Administrator aus:
Dieses Regfile bewirkt (zumindest unter Vista, mit anderen Betriebsystemen habe ich es nicht getestet) folgendes:
Alle Dateien mit den Endungen *.vbe (verschlüsselte VBScripts) und *.vbs werden mit CScript und dem Parameter //nologo ausgeführt.
Konkret werden die folgenden beiden Reg-Keys geändert:
VBE:
HKEY_CLASSES_ROOT\VBEFile\Shell\Open2\Command
Den Inhalt von (Standard) von
in
ändern
VBS:
HKEY_CLASSES_ROOT\VBSFile\Shell\Open2\Command
Den Inhalt von (Standard) von
in
ändern.
-----
Viel Spass damit!
Wenn man häufig Ausgaben von VBScripts in CSVs umleitet, um damit weitere Auswertungen zu machen, wird man es bald sehr zu schätzen wissen, wenn man nicht jedesmal von Hand das besch*** Logo löschen muss.
PS: Per Reg-Command geht es leider nicht, da sich im Datenfeld des zu ändernden Keys Anführungszeichen befinden. Zusammen mit den ohnehin notwendigen Anführungszeichen im Reg-Befehl wird dann ein falscher Wert in der Registry gespeichert.
Was mich an VBS-Scripts immer gestört hat, ist einerseits die Tatsache, dass VBScripts standardmässig mit WScript.exe ausgeführt werden und nicht mit CScript.exe. Andererseits nervt mich bei der Ausgabe in der Konsole das folgende Logo:
01.
Microsoft (R) Windows Script Host, Version 5.7 02.
Copyright (C) Microsoft Corporation 1996-2001. Alle Rechte vorbehalten.Das Teil stört vorallem dann, wenn man die Ausgabe des Scripts kurz mit ">" in ein Textfile umleiten will. Mit 2 kleinen Tricks bringt man Windows dazu, 1. VBS-Scripts immer mit CScript aus zu führen und 2. die Ausgabe immer ohne Logo darzustellen.
ACHTUNG: Die folgenden beiden Tipps habe ich nur unter Vista getestet!
VBScripts immer mit Cscript ausführen
Dazu muss man nur die folgende Zeile in einem CMD-Fenster oder im "Ausführen..:"-Fenster ausführen (mit Adminrechten!):
01.
cscript.exe //H:CScriptDie Ausgabe des Scripting-Host-Logos dauerhaft unterdrücken
Packt den folgenden Code in ein *.reg-File und führt es als Administrator aus:
01.
Windows Registry Editor Version 5.00 02.
03.
[HKEY_CLASSES_ROOT\VBSFile\Shell\Open2\Command] 04.
@=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\ 05.
00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,43,00,\ 06.
53,00,63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,\ 07.
00,25,00,31,00,22,00,20,00,25,00,2a,00,20,00,2f,00,2f,00,4e,00,6f,00,4c,00,\ 08.
6f,00,67,00,6f,00,00,00 09.
10.
[HKEY_CLASSES_ROOT\VBEFile\Shell\Open2\Command] 11.
@=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\ 12.
00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,43,00,\ 13.
53,00,63,00,72,00,69,00,70,00,74,00,2e,00,65,00,78,00,65,00,22,00,20,00,22,\ 14.
00,25,00,31,00,22,00,20,00,25,00,2a,00,20,00,2f,00,2f,00,4e,00,6f,00,4c,00,\ 15.
6f,00,67,00,6f,00,00,00Dieses Regfile bewirkt (zumindest unter Vista, mit anderen Betriebsystemen habe ich es nicht getestet) folgendes:
Alle Dateien mit den Endungen *.vbe (verschlüsselte VBScripts) und *.vbs werden mit CScript und dem Parameter //nologo ausgeführt.
Konkret werden die folgenden beiden Reg-Keys geändert:
VBE:
HKEY_CLASSES_ROOT\VBEFile\Shell\Open2\Command
Den Inhalt von (Standard) von
01.
"%SystemRoot%\System32\CScript.exe" "%1" %*01.
"%SystemRoot%\System32\CScript.exe" "%1" %* //NoLogoVBS:
HKEY_CLASSES_ROOT\VBSFile\Shell\Open2\Command
Den Inhalt von (Standard) von
01.
"%SystemRoot%\System32\CScript.exe" "%1" %*01.
"%SystemRoot%\System32\CScript.exe" "%1" %* //NoLogo-----
Viel Spass damit!
Wenn man häufig Ausgaben von VBScripts in CSVs umleitet, um damit weitere Auswertungen zu machen, wird man es bald sehr zu schätzen wissen, wenn man nicht jedesmal von Hand das besch*** Logo löschen muss.
PS: Per Reg-Command geht es leider nicht, da sich im Datenfeld des zu ändernden Keys Anführungszeichen befinden. Zusammen mit den ohnehin notwendigen Anführungszeichen im Reg-Befehl wird dann ein falscher Wert in der Registry gespeichert.
TuXHunt3R schreibt am 26.08.2008 um 22:02:42 Uhr
Ist soweit richtig, auch wenn ich den //s nicht kannte (habe das Help zu wenig genau gelesen).
Meine Variante hat allerdings den Vorteil, dass das Logo auf dem entsprechenden Computer bei keinem User angezeigt wird, was in diesem Fall das Ziel der Übung war.
Meine Variante hat allerdings den Vorteil, dass das Logo auf dem entsprechenden Computer bei keinem User angezeigt wird, was in diesem Fall das Ziel der Übung war.
miniversum schreibt am 01.09.2008 um 09:48:56 Uhr
Geht das nicht auch über den Ftype Befehl?
Mal ohne es ausprobiert zu haben sollte das doch mit entsprechender Einstellung an der cmd doch auch für alle Benutzer verändert werden können?
Mal ohne es ausprobiert zu haben sollte das doch mit entsprechender Einstellung an der cmd doch auch für alle Benutzer verändert werden können?










