Ich werde mal versuchen einige meiner Einträge auf Englisch zu verfassen - um in der Übung zu bleiben.

At my current workplace, working with Linux (or anything other than windows) seems to be something no one would even bother to think about.  So I had to dig into the world of Windows Batch Scripting in order to create those little tools that make my life  just a bit easier when using linux.

The first thing I had to do was creating a script that simply backups folders. I have a folder which contains other folders that should be archived - I usually zip (or 7zip) them and move them to the backup space later, which is a fairly easy task using a bash-script and nautilus actions.

Under windows it's not that much harder to accomplish. (In the following example I used WinRAR to compress the files because that's what we use at work.)

The first thing I needed was of course the batch-file that does the actual work. Here it is:

@echo off

rem ===================== Begin Configuration ===================== rem !!! Do not use quotes for the values of the following variables !!!

rem Path to the WinRAR executable file set winrarPath=%PROGRAMFILES%\WinRAR\WinRAR.exe

rem ====================== End Configuration ======================

rem Please only edit after this line if you know exactly what you are doing.

set curVer=0.1 [2009-11-26]

rem ======================== Begin Script ========================

rem Tell the user which version of the tool they use echo. echo Mi ArchiveSubfolders version %curVer% echo. echo.

if not exist "%winrarPath%" ( echo Cannot find WinRAR exe file: %winrarPath% goto eof )

set dir=%* if not exist "%dir%" ( echo The directory "%dir%" cannot be found goto eof )

set dateString=%DATE:~-4,4%-%DATE:~-7,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%

cd "%dir%" for /D %%a in (*) do ( rem Creating the archive echo Archiving "%%~na"... "%winrarPath%" M -afzip -ibck -inul -m5 "%dateString%-%%~na.zip" "%%a" )

echo. echo Archiving done

:eof

Now that is a nice, simple script, but what should I do with it? I wanted it to be useable directly in the explorer context-menu, so I made a small registry-entry. This is the exported .reg-file:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\archiveSubfolders] @="Mi: Archive Subfolders (ZIP)"

[HKEY_CLASSES_ROOT\Folder\shell\archiveSubfolders\Command] @="cmd /c \"\"%%ProgramFiles%%\\MiTools\\archiveSubfolders\\archiveSubfolders.bat\"\" %1"

Now I wanted a simple installation-script, for really lazy people like me:

@echo off

set installDir=%PROGRAMFILES%\MiTools\archiveSubfolders

if not exist "%installDir%" ( mkdir "%installDir%" )

copy archiveSubfolders.bat "%installDir%" copy "ArchiveSubfolders Context Menu Entry.reg" "%installDir%"

regedit /S "ArchiveSubfolders Context Menu Entry.reg"

echo Installation complete.

:eof