EINE ZUSAMMENSTELLUNG von DOS-Befehlen und DOS-Batch-Dateien mit und ohne Hilfe von DOS-Hilfsprogrammen Die Batch-Dateien sind exemplarisch aufgebaut, d. h. der Befehlssatz muß nach dem Herauskopieren sinnvoll editiert und angepaßt werden ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ EXKURS: der Befehl "START" ¯¯¯¯¯¯¯¯ (PC Online 6/98) Das DOS von Windows 95 kennt mit "Start" ein Kommando für den Start von Windows- und DOS-Programmen, das recht praktische Optionen kennt. Der Aufruf des Virencheckers in Ihrer Batch-Datei könnte zum Beispiel so aussehen: "start /w c: \utils \check.exe". Damit wird die weitere Ausführung der Batch- Datei angehalten, bis der Checker seine Arbeit beendet hat. Allerdings wechselt dabei das System in den Grafikmodus von W95. Wenn Sie das nicht wollen, geben Sie dem Start-Befehl noch den Parameter "/m" mit, der für "minimiert" steht. Der Parameter "/m" funktioniert auch, wenn der Fall andersherum gelagert ist: Ruft man im Grafikmodus über Start/Ausführen oder in einer Batch-Datei ein DOS- Programm in der Form "start /m progname" auf, dann wechselt das System bei der Ausführung nicht in den DOS-Modus. Daß das Programm läuft, erkennt man nur an einem Symbol in der Task-Leiste. Mit "Start" lassen sich noch andere nette Effekte erreichen. So bringt ein Pfadname als Parameter ein Explorer-Fenster auf den Bildschirm, das den Inhalt des entsprechenden Verzeichnisses anzeigt. Verwendet man als Parameter des Start- Befehls eine Datei mit einer in W95 registrierten Endung, wird das dazugehörige Programm geladen und die angegebene Datei geladen und angezeigt. Bei einer Doc-Datei mag dies nicht allzu aufregend sein, aber verwendet man beispielsweise eine MIDI- oder Wave-Datei, lassen sich damit aus einem DOS-Fenster ganz einfach Sounds abspielen. So würde zum Beispiel start /m "c:\windows\media\ the microsoft sound.wav" den Start-Sound abspielen. Die Anführungszeichen sind notwendig, damit der mit Leerzeichen ausgestattete Dateiname korrekt verarbeitet wird. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ A) Anwendungen mit den DOS-Hilfsprogrammen I. DELAY II. KILL I. DELAY.COM DELAY.COM ist eine nach irgendeiner Vorschrift vor Jahren kompilierte kleine Anwendung, welche bei Aufruf die Ausführung eines DOS-Befehls in Sekundenschritten verzögert. Nützlich bei sich überschneidenden Boot- Vorgängen in der Autoexec.bat, oder um Vorgänge im DOS-Fenster bei der Ausführung von Batch-Dateien lange genug anzuhalten, um Meldungen lesen oder Entscheidungen treffen zu können, bevor die Ausführung nach der vorgegeben Zeit (Timeout) fortgesetzt wird. Wird im DOS- Verzeichnis C:\WINDOWS\COMMAND\ abgelegt und dort aufgerufen Syntax: DELAY 1 (Verzögert die Ausführung um 1 Sekunde; DELAY 22 um 22 Sekunden, etc.) ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ II. KILL.EXE KILL.EXE ist eine vor Jahren von der PC-WELT kompilierte kleine Anwendung, welche schnell und unkompliziert bestimmte Anwendungen in WINDOWS killt, d. h. abschaltet. KILL.EXE läßt sich in einer Batch- Datei aufrufen. Dazu muß der Name der zu schließenden Anwendung bekannt sein. Zu diesem Zweck das die KILL.EXE enthaltende Verzeichnis im DOS- Fenster öffnen und "Kill" eingeben. Mit der Eingabe KILL/f + Dateinamen oder Prozessnummer der abzuschaltenden Anwendung kann nun die gewünschte Anwendung beendet werden. KILL/f XY.EXE kann auch als Befehlszeile in einer Batchdatei geschrieben werden. Syntax: KILL/f XY.EXE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Das gilt für Windows 9x. In Windows XP arbeitet die PC-WELT KILL.EXE unzuverlässig, wenn überhaupt. [ In Windows XP diese Eintragen in C:\WINDOWS\system32\KILL.EXE ] Die PC-WELT KILL.EXE gibt in Windows 9x nur im DOS-Modus eine Liste der Prozesse an. In Windows XP nicht einmal das. ALTERNATIV: PsKill (Pstools) von http://technet.microsoft.com/de-de/sysinternals/bb896683 Die Syntax ist genauso simpel: Eine Batchdatei in das Verzeichnis der PSKILL.EXE setzen mit pskill googleupdate.exe pskill firefoxpreloader.exe pskill firefox.exe usw... Siehe dazu http://project-icarus.de/erleuchtet/hilfe/kill-xp.txt ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ PC-WELT KILL.EXE ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ [Windows 9x] BESONDERE SYNTAX: BEENDET UND STARTET den WINDOWS EXPLORER NEU: [ OHNE DAß DAS SYSTEM ABSTÜRZT ] ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ kill.exe /f EXPLORER.EXE start EXPLORER.EXE echo Windows Explorer neu gestartet. cls ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ B) BATCH-ANWENDUNGSBEISPIELE [ Mit diversen Programmbeispielen ] 1) BEENDET MEHRERE PROGRAMME: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ REM kill/? im MSDOS gibt Hilfe kill/f iexplore.exe kill/f k-meleon.exe kill/f mailwasher.exe kill/f netscape.exe . . . kill/f LexLMPM delay 3 kill/f LexBCES.exe delay 3 kill/f LexPPS.exe delay 3 kill/f acrord32.exe cls ------ 2) BEENDET UND STARTET ZONEALARM NEU: (RELOAD) ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ echo Beende Zone Alarm! kill/f ZONEALARM.EXE kill/f ZLCLIENT.EXE echo . echo Starte Zone Alarm neu! REM delay 1 C:\...\ZONEALARM.EXE -nopopup -nosplash C:\...\ZLCLIENT.EXE -nopopup -nosplash cls REM der Parameter -nopopup -nosplash verhindert, daß das ZoneAlarm - Programmfenster öffnet REM der Parameter -nopopup -nosplash funktioniert auch bei anderen Programmen! ------ 3) BEENDET UND STARTET URLMENU NEU: (MIT BESONDEREN VORGABEN) ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ kill/f URLMENU.EXE delay 1 regedit/s "C:\..\Reg-Schluessel\urlmenu-optionen1.reg" delay 1 C:\..\URLMENU.EXE cls ------ NB: "regedit" ist kein originärer DOS-Befehl; es wird mit ihm das Programm "regedit.exe" (hier mit Parameter) gestartet. Aufgerufen wird dabei die Text-Datei "urlmenu-optionen1.reg". In dieser steht beispielsweise: REGEDIT4 [HKEY_CURRENT_USER\Software\Elphin\URLMenu\Options] "PrimaryBookmarks"="1" "ClipboardMode"="2" ... "LastFindText"="XXX" "SearchText"="YYY" ... ;Google "SearchEngine"="10" ... ;...usw., je nach Wunsch ; Bedeutet: Das hier ist ein Kommentar ' Das hier auch ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ C) ZUSATZ 1) VERZÖGERT DIE AUSFÜHRUNG ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ In die bereits in ALLEDOS.ZIP enthaltene Reinigungs- Batchdatei CLEANWTP.BAT kann jetzt eine Verzögerung eingebaut werden: Die folgende Datei kopieren und als z. B. "cleantmp.bat" im Verzeichnis "C:\DOS\" (Windows 3x) bzw. "C:\WINDOWS\COMMAND\" (Windows 9x) abspeichern. Der Befehl "cleantmp" in der MS- DOS- Eingabeaufforderung löst dann die Aktion aus (sie kann auch direkt mit einem Doppelklick auf die Datei gestartet werden): CLEANWTP.BAT: ¯¯¯¯¯¯¯¯¯¯¯¯ @ECHO OFF ECHO. ECHO Hallo. ECHO. DELAY 1 ECHO Es werden temporaere Dateien jetzt geloescht. ECHO. DELAY 1 ECHO Bitte mit ja (j) oder nein (n) und ENTER bestaetigen. ECHO. DELAY 3 REM Kommentar: deltree /Y führt den Befehl ohne Rückfrage aus ECHO Der Ordner C\windows\temp wird jetzt geleert ECHO. DELAY 1 ECHO. DELAY 1 DELTREE C:\WINDOWS\TEMP ECHO Der Ordner C\windows\temp wird neu angelegt MKDIR C:\WINDOWS\TEMP ECHO. DELAY 1 ECHO Operation beendet. ECHO. DELAY 1 ECHO Der Ordner C\temp wird jetzt geleert ECHO. DELAY 1 ECHO. DELAY 1 DELTREE C:\TEMP ECHO Der Ordner C\temp wird neu angelegt MKDIR C:\TEMP ECHO. DELAY 1 ECHO Operation beendet. ECHO. DELAY 1 REM Hier können weitere Ordner zum leeren eingetragen werden. REM Ab hier werden bestimmte Dateien aus besimmten Ordnern gelöscht: ECHO. DELAY 1 ECHO ~*.TMP - Dateien in C\Windows werden geloescht ECHO. DELAY 1 REM Bestätigung: choice Sollen alle ~*.TMP-Dateien in C:\Windows geloescht werden? if errorlevel 2 goto ende DELAY 3 REM Alternativ: Einzelbestätigung: del c:\windows\~*.tmp /p del c:\windows\~*.tmp ECHO ~*.TMP - Dateien in C:\Windows wurden geloescht ECHO. DELAY 1 ECHO Operation beendet. ECHO. DELAY 1 REM Hier können weitere Dateien zum löschen eingetragen werden. :ende ECHO Ende. ECHO. DELAY 1 ECHO Bitte Fenster schliessen. exit ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 2) ENTFERNT ÜBERFLÜSSIGE "DATEI/NEU" - EINTRÄGE IM EXPLORER UND KONTEXTMENÜ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ECHO. ECHO Entfernt überflüssige Datei_Neu - Einträge im Kontextmenü DELAY 3 regedit /s "C:\...\NEUE_WEG.REG" cls ------ Die obige Batch-Datei im Autostart-Verzeichnis verknüpfen, um sie bei jedem Windows-Start automatisch ausführen zu lassen. Aufgerufen wird dabei die Text-Datei "NEUE_WEG.REG". In dieser steht: REGEDIT4 [ -HKEY_CLASSES_ROOT\.XXX\ShellNew ] [ -HKEY_CLASSES_ROOT\.XYZ\ShellNew ] ... usw; ".XXX" bzw. ".XYZ" ist dabei die jeweilige unerwünschte Datei-Endung ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 3) ENTFERNT "ZULETZT GESPIELT" - EINTRÄGE IM WINDOWS MEDIA PLAYER ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ECHO. ECHO Entfernt Recent-Einträge im Windows Media Player DELAY 3 regedit /s "C:\...\MRU_WEG.REG" cls ------ Die obige Batch-Datei im Autostart-Verzeichnis verknüpfen, um sie bei jedem Windows-Start automatisch ausführen zu lassen. Aufgerufen wird dabei die Text-Datei "NEUE_WEG.REG". In dieser steht: REGEDIT4 'Entfernt die Media Player URL- und Datei-Listen [-HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Player\RecentURLList] [-HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Player\RecentFileList] 'Stellt bei neueren Media Player Versionen die Listen ab [HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences] "AddToMRU"=hex:00 ; unwirksam bei älteren Versionen (vor Version 8) ; der Wert 01 schaltet ggf. die Listenführung wieder ein ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ACHTUNG: Darauf achten, daß der Befehl "cls" ggf. wirklich die LETZTE Zeile der jeweiligen Batch-Datei ist - ohne weitere Leerzeile! ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Hinrichs 2011