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 offrem ===================== 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 offset 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