Putzi 4 Win
Skript: Plugin per Batch ausführen

style:
1 2

» Skript: Plugin per Batch ausführen

Verlauf: Support »Plugins »Plugin per Batch starten »
 ≡ Links ≡ 
Dokumentation:
Doku der Plugins 200 kB


Problem mit einem Link?

Einleitung

Die Plugins bestehen aus Skripten, die in die Standard-Ausgabe schreiben. In welcher Syntax die Ausgabe erfolgt, ist festgelegt. Mit diesem Wissen ausgerüstet ist es kein Problem, eine Batch-Datei zu schreiben, die die Plugins verarbeitet.

Zweck der Übung:
Es lassen sich von Plugins gelieferte Daten ohne das Hauptprogramm Putzi4Win löschen.
Ein solches Skript kann man regelmässig ausführen, z.B. indem man eine Verknüpfung im Startmenü anlegt.

Seitenanfang


Ansatz

Unsere Batch-Datei muss einmal alle gewünschten Plugins ausführen. Die Ausgabe aller Plugins erfolgt in eine gemeinsame Datei.
:: Liste der auszuführenden Plugins zusammenstellen:
set plugins=
set plugins=%plugins% browser_firefox_cache.bat
set plugins=%plugins% browser_ie_cache.bat

set tmpfile="%temp%\plugin_out.txt"
(...)
echo # >%tmpfile%
for %%a in (%plugins%) do echo --- Plugin: %%a && call plugins\%%a >>%tmpfile%
Anschliessend wird auf alle Zeilen, die mit FILE: beginnen, ein del- Kommando abgesetzt, die die dahinterfolgenden Dateien zu löschen.
Analog werden Ordner, die hinter dem Eintrag DIR: stehen mit einem rd gelöscht (jedoch nicht rekursiv, damit werden nur tatsächlich leere Ordner gelsöcht.).
echo ===== zu loeschende Dateien:
for /F "tokens=1,* delims=:" %%a in ( 'findstr "^FILE:" %tmpfile%' ) do echo del "%%b" && del "%%b"

echo ===== zu loeschende Ordner:
for /F "tokens=1,* delims=:" %%a in ( 'findstr "^DIR:" %tmpfile%' ) do echo rd "%%b" && rd "%%b"

Seitenanfang


komplettes Beispiel

Anbei eine komplette Batchdatei.
Anzupassen sind
  1. der Ordner, wo sich das Programm Putzi4Win befindet
    set putziDir="C:\Programme\putzi4win"
  2. die Liste der Plugins, die ausgeführt werden sollen
    Die Zeilen
    set plugins=%plugins% [Dateiname] mit weiteren Plugins ergänzen.
    Hinweis: dieses Beispiel funktioniert nur mit Batch-Dateien. Sollen VB-Skript-Plugins ausgeführt werden, braucht es noch Ergänzungen zum Aufruf der cskript.exe
Viel Spass beim Experimentieren!
@echo off
rem ######################################################################
::
::	DEMO-Skript zum Verarbeiten der Putzi4Win-Plugins
::
rem ----------------------------------------------------------------------
::	2008-09-02  support@putzi4win.de
rem ######################################################################


rem ----------------------------------------------------------------------
::	CONFIG
rem ----------------------------------------------------------------------

:: Programverzeichnis von Putzi4Win:
set putziDir="C:\Programme\putzi4win"

:: Liste der auszuführenden Plugins zusammenstellen:
set plugins=
set plugins=%plugins% browser_firefox_cache.bat
set plugins=%plugins% browser_ie_cache.bat


rem ----------------------------------------------------------------------
::	INTERNE CONFIG
rem ----------------------------------------------------------------------
set tmpfile="%temp%\plugin_out.txt"


rem ----------------------------------------------------------------------
::	MAIN
rem ----------------------------------------------------------------------

::
:: In das Programmverzeichnis reinwechseln - bei Fehler abbrechen
::
cd /d %putziDir% || (
	echo FEHLER: Verzeichnis von Putzi4Win nicht gefunden.
	pause && exit
)
echo OK: Verzeichnis von Putzi4Win gefunden.

::
:: Plugins ausführen und in einer TEMP-Datei sammeln
::
echo ===== fuehre die Plugins aus:
echo # >%tmpfile%
for %%a in (%plugins%) do echo --- Plugin: %%a && call plugins\%%a >>%tmpfile%

::
:: TEMP-Datei parsen: Dateien und dann Ordner löschen
::
echo ===== zu loeschende Dateien:
for /F "tokens=1,* delims=:" %%a in ( 'findstr "^FILE:" %tmpfile%' ) do echo del "%%b" && del "%%b"

echo ===== zu loeschende Ordner:
for /F "tokens=1,* delims=:" %%a in ( 'findstr "^DIR:" %tmpfile%' ) do echo rd "%%b" && rd "%%b"

::
:: ENDE
::
del %tmpfile%
echo ===== Skript beendet. && pause && exit
rem ----------------------------------------------------------------------

Seitenanfang


Video-TutorialsFAQDateitypenStartparameterPlugins Start-GUIPlugin per Batch starten
Newsletter
Dieser Newsletter informiert Sie bei Updates.
Ihre Email-Adresse: