Kostenlose CeBIT-Karten 2010

Posted by Torsten on 16 January, 2010
This post was filed in Messen and has no comments yet

Auch dieses Jahr findet wieder die Computermesse CeBIT in Hannover statt (03.-08.03.10, jeweils 9-18 Uhr). Ich bin gespannt, wie sich diese Messe weiterentwickelt, zumal im letzten Jahr ein deutlicher Aussteller- und Besucherrückgang zu verzeichnen war. Wer sich trotzdem für diese Messe interessiert, sollte sich die Seite messepraesente.de anschauen. Hier gibt es wertvolle Tipps, wie man an kostenlose CeBIT-Eintrittskarten kommt.

Tagged with: ,

Batch-Kurs Teil 2: Der Befehl ECHO

Posted by Torsten on 29 December, 2009
This post was filed in Allgemeines and has 1 comment so far

ECHO ist einer der wichtigsten Befehle überhaupt: Er sorgt für eine Ausgabe, denn ECHO steht für Ausgabe von Text.
Das sieht in einer Batchdatei so aus:

1
echo Hallo Welt

Dieses Beispiel gibt an der Kommandozeile ausgeführt folgende Ausgabe aus:

echo Hallo Welt
Hallo Welt

Wir haben also die Wörter “Hallo Welt” auf den Bildschirm geschrieben. Leider wird der Befehl dazu (”echo Hallo Welt”) ebenfalls mit ausgegeben. Das kann man unterbinden, indem an den Beginn der Batchdatei das ECHOing generell ausstellt:

1
2
echo off
echo Hallo Welt

Dieses Beispiel erzeugt folgende Ausgabe:

echo off
Hallo Welt

Wir haben erneut das Problem, dass der erste Befehl trotzdem noch auf dem Bildschirm ausgegeben wird. Dagegen wirkt die Wunderwaffe: Das @-Zeichen!

Probieren Sie folgende Batchdatei einmal aus:

1
2
@echo off
echo Hallo Welt

Zufrieden mit dem Ergebnis? Gut, dann gehts gleich weiter!

Frage: Wie würden Sie eine Leerzeile ausgeben? Etwa so:

1
2
3
4
@echo off
echo
echo Hallo Welt
echo

?
Versuchen Sie das einmal – die Ausgabe auf dem Bildschirm wird Sie vielleicht verwundern. Denn der Befehl

1
echo

gibt den ECHOing-Status aus.

Da Sie zuvor ECHO ausgeschaltet haben, erscheint auf dem Bildschirm die Ausgabe:

ECHO ist ausgeschaltet (OFF).

Um eine Leerzeile auszugeben, setzen Sie direkt nach dem ECHO einen Punkt:

1
echo.

Apropos ECHO OFF: Welches Problem entsteht, wenn man global das ECHO ausgeschaltet hat? Man erkennt bei einem Fehler nicht mehr, welcher Befehl genau diesen verursacht hat. Für Debugging-Zwecke kann es also sehr wohl sinnvoll sein, die Befehlsausgabe nicht auszuschalten.

Batch-Kurs: Einleitung

Posted by Torsten on 29 December, 2009
This post was filed in MS-DOS/Windows Shell and has 1 comment so far

Diese Einleitung soll einen kurzen Überblick darüber bringen, was Batchdateien sind und wie sie erstellt werden. Wer das schon weiß, kann diesen Teil getrost überspringen.

Batchdateien sind reine Textdateien mit der Dateiendung .BAT. Man erstellt sie am besten mit dem Windows-Editor Notepad.exe. Wichtig beim Arbeiten mit Notepad: Dieses Programm legt standardmäßig Textdateien mit der Endung .TXT an. Das ist für unsere Zwecke nicht geeignet. Wichtig daher: in NOTEPAD bei “Datei/Speichern unter” immer “Alle Dateien” als “Dateityp” angeben.

Wer nicht mit NOTEPAD von Windows arbeiten möchte, kann natürlich auch alternative Editoren benutzen. Ich empfehle:
Proton
Notepad++

Hardcore-Coder gehen über Start/Ausführen/CMD auf die Kommandozeile und arbeiten mit COPY CON Batch.bat… :-) (wer nicht weiß, was das bedeutet: keine Sorge, am den Ende Kurses wird es jeder wissen…)

Batchdateien haben traditionsgemäß die Endung .BAT. Windows interpretiert aber auch Dateien mit der Endung .CMD. Ich persönlich bevorzuge BAT und werde dies in diesem Kurs auch so beibehalten.

Die Dateiendung .BAT sagt Windows, dass es sich um einen Befehlsstapel handelt. Die in einer Batchdatei enthaltenen Windows-Befehle werden der Reihe nach Zeile für Zeile abgearbeitet.

Während der Verarbeitung einer Batchdatei kann man diese in der Regel durch Drücken der Tastenkombination STRG-C oder STRG+Break abbrechen.

Tagged with: ,

Der adminbox.de Batch-Kurs

Posted by Torsten on 29 December, 2009
This post was filed in MS-DOS/Windows Shell and has no comments yet

Mit Batchdateien (engl. für “Stapelverarbeitungsdateien”) kann man einiges unter DOS & Windows anstellen. Was viele für eine verstaubte Technik halten, nämlich das pure Untereinanderstellen von Windows-Kommandozeilen-Befehlen, kann in der Praxis ein aprobates Mittel sein, Probleme auf die Schnelle zu lösen.

Alte EDV-Hasen kennen sich meist gut mit Batchdateien aus, die neuere Windows-Generation kann unter Umständen noch einiges dazulernen. Adminbox.de möchte mit diesem Batch-Kurs auch Einsteigern die Möglichkeit geben, in die komplizierte Welt den “Batch-Programmierens” einzusteigen.

Der Batchkurs wird sich in mehrere Teile aufgliedern, zu denen in in unregelmäßigen Zeitabständen (ja, auch ich habe nicht immer Zeit! :-) ) etwas schreiben werde. Wer immer auf dem Laufenden bleiben will, bookmarkt sich einfach diesen Post. Die anderen Teile werden nach Erscheinen hier verlinkt.

Teil 1: Einleitung
Teil 2: Der Befehl ECHO
Teil 3: Hier gehts lang: Umleitungen
Teil 4: Im schön sauber bleiben: Filter
Teil 5: Labels und GoTos
Teil 6: Arbeiten mit Laufwerken und Verzeichnissen
Teil 7: Wunderwaffe FOR
Teil 8: Variablen und die Umwelt
Teil 9: Zeichenketten zerlegen
Teil 10: Errorlevel
Teil 11: Wir zaubern ein wenig
Teil 12: Hardcore-Aufgaben für Batch-Profis zum Selberlösen :)

Viel Spaß mit dem Kurs!

Per FTP mit Windows-Bordmitteln Unterverzeichnisse übertragen (rekursives FTP)

Posted by Torsten on 8 December, 2009
This post was filed in Windows and has 3 comments

Was unter Linux kein Problem ist, stellt mit Windows-Bordmitteln eine nicht zu erreichende Hürde da: der Transfer von Ordnerstrukturen mit Hilfe des Kommandozeilen-Tools FTP (auch rekursives FTP genannt). Der eine oder andere Admin wird jetzt erstaunt sein, dass dies auch mit Batchdateien und FTP.EXE möglich ist. Dazu ist allerdings einiges an Batch-Know-How erforderlich.

Batchdatei 1 (rftp.bat):

@echo off

rem ************************************************************
rem * Batchdatei zum rekursiven Übertragen von Dateien per FTP *
rem * Adminbox.de, Version 08.12.09 *
rem ************************************************************

rem Verzeichnisliste erstellen...
mkdir c:\temp >nul

rem Aufbau des FTP-Skriptes...
echo open SERVER-IP >c:\temp\ftp.skr
echo USER>>c:\temp\ftp.skr
echo PASS>>c:\temp\ftp.skr
echo prompt >>c:\temp\ftp.skr
echo bin >>c:\temp\ftp.skr

for /F %%I IN ('dir /b /s /ad') DO call c:\scripts\rftp_lib.bat %%I\* %%~pI%%~nI
echo quit >>c:\temp\ftp.skr

rem FTP-Verbindung aufbauen...
ftp -s:C:\temp\ftp.skr

Batchdatei 2 (rftp_lib.bat):
@echo off
rem *** Hilfsbatch für rftp.bat
set rftp=%2
set rftp=%rftp:~1%
echo mkdir %rftp% >>c:\temp\ftp.skr
echo cd %rftp% >>c:\temp\ftp.skr
echo mput %1 >>c:\temp\ftp.skr
echo cd \>>c:\temp\ftp.skr

Wie funktionieren diese Batchdateien?
Zunächst wird durch die RFTP.BAT ein temporärer Ordner C:\TEMP erstellt. Ist dieser bereits vorhanden, kommt es zu einer Fehlermeldung, die getrost ignoriert werden kann (wer es eleganter mag, kann hier eine Überprüfung auf C:\TEMP\NUL durchführen, um die Fehlermeldung zu beseitigen). Jetzt wird ein Skript mit FTP-Befehlen aufgebaut, dass später an das Kommandozeilentool FTP.EXE übergeben wird (die Angaben SERVER-IP, USER, PASS müssen durch die entsprechenden Werte ersetzt werden).

Interessantes passiert jetzt in der FOR-Schleife: Die Ausgabe des DIR-Befehls wird umgeleitet in die Variable %I (der DIR-Befehl zeigt nur Verzeichnisse an). An die Hilfsbatch rftp_lib.bat werden die Parameter %%I (das jeweilige Laufwerk+Verzeichnis und nur das Verzeichnis übergeben (”%%~pI%%~nI). In der Hilfsbatch wird jetzt der Parameter %2 zerschnitten: das erste und zweite Zeichen entfallen, alles nach dem 2. Zeichen wird in die Variable %rftp% übernommen (die Zählung beginnt mit Offset 0). Danach wird das FTP-Skript um Befehle zum Verzeichnis erstellen, Verzeichnis wechseln und schließlich zur Dateiübertragung erweitert.

In der ursprünglichen Batch wird nun die FTP.SKR an das Kommandozeilen-Tool FTP.EXE übergeben und abgearbeitet.