Ein Batch Script, welches den Aufruf des YUI Compressors mittels Kontextmenü ermöglicht – praktisch wenn man öfters CSS oder JavaScript Files komprimieren muss.
Unterstützt werden sowohl Dateien als auch Verzeichnisse. Sollte bei der Komprimierung ein Fehler auftreten bleibt das Fenster geöffnet – ansonsten schließt es sich automatisch wieder.
Installation
Beim Aufruf der YUICompressor-Install.cmd
werden in der Registrierung automatisch die benötigten Einträge für Dateien und Verzeichnisse erstellt. Danach ist das Script einsatzbereit (vorhandene JRE Installation vorausgesetzt).
Wenn die Dateien nachträglich noch an einen anderen Pfad verschoben werden, ist das Installationsskript erneut auszuführen!
Deinstallation
YUICompressor-Remove.cmd
entfernt die zuvor erstellten Einträge wieder aus der Registrierung. Die Dateien können danach einfach gelöscht werden.
Source
@ECHO OFF REM Martin Karer, 2011 REM https://sezz.at IF [%1]==[] GOTO End CALL :FindJava SET YUI=%~dp0\yuicompressor-2.4.6.jar SETLOCAL EnableExtensions SET ATTR=%~a1 IF /I "%ATTR:~0,1%"=="d" ( CALL :YUICompressDirectory %1 ) ELSE ( CALL :YUICompressFile %1 ) GOTO End :RemoveFile REM Arguments: REM %1 -> file name with "full path" DEL /F %1>NUL IF EXIST %1 CALL :RemoveFile %1 GOTO :EOF :YUICompressDirectory REM Arguments: REM %1 -> full path ECHO YUICompressDirectory %* IF EXIST "%~s1\*.JS" FOR /F "tokens=*" %%A IN ('DIR /B %~s1\*.JS') DO CALL :YUICompressFile "%~s1\%%A" IF EXIST "%~s1\*.CSS" FOR /F "tokens=*" %%A IN ('DIR /B %~s1\*.CSS') DO CALL :YUICompressFile "%~s1\%%A" GOTO :EOF :YUICompressFile REM Arguments: REM %1 -> file name with full path ECHO YUICompressFile %* SET YUICurrentFile=%~1 SET YUICurrentFileName=%~n1 IF "%YUICurrentFileName:~-4%"=="-min" CALL :RemoveFile "%YUICurrentFile%" & GOTO :EOF ECHO Processing: %~nx1 "%JavaExecutable%" -jar "%YUI%" %1 -o "%~dp1\%YUICurrentFileName%-min%~x1" --preserve-semi GOTO :EOF :FindJava REM Find JAVA.EXE REM Tested in Windows 7 x64, JRE 1.6.0_26 SET JavaVersion= SET JavaPath= SET JavaExecutable= SET RegistryRoot=HKLM\SOFTWARE\JavaSoft\Java Runtime Environment IF NOT "%ProgramFiles(x86)%"=="" IF EXIST "%ProgramFiles(x86)%" SET RegistryRoot=HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment FOR /F "usebackq skip=2 tokens=2,*" %%V IN (`REG QUERY "%RegistryRoot%" /v Java6FamilyVersion`) DO SET JavaVersion=%%W FOR /F "usebackq skip=2 tokens=2,*" %%V IN (`REG QUERY "%RegistryRoot%\%JavaVersion%" /v JavaHome`) DO SET JavaPath=%%W IF EXIST "%JavaPath%\bin\java.exe" SET JavaExecutable=%JavaPath%\bin\java.exe IF "%JavaExecutable%"=="" ( SET ERRORLEVEL=1 ECHO Couldn't find JAVA.EXE! GOTO End ) GOTO :EOF :End IF %ERRORLEVEL% NEQ 0 PAUSE EXIT
Download
Aktuelle Version (getestet unter Windows 7 64-Bit mit 32 Bit JRE), inkl. YUI Compressor 2.4.6: YUI Compressor Context Menu (793 KB)