Einfache Zählschleifen in Batch:

set /a loop=0

:install
set /a loop=%loop%+1
echo install %loop%
set installel=%errorlevel%
if %loop%==3 goto fehler
if %installel%==0 pause & goto install

:fehler
echo ### fehler ###

Der

echo install

Befehl wird 3 Mal ausgeführt und jedes Mal wird der Zähle loop nach der Ausführung um 1 erhöht. Wurde der Befehl das 3. Mal ausgeführt und erreicht erneut die

if %loop%==3

Abfrage so wird zu

:fehler

weitergeleitet.

Info

Die html7bar ermöglicht eine attraktive Platzierung von Weblinks und anderen Informationen in einer Windows 7 nachempfundenen Footer-Leiste.
Der Orb lässt sich anklicken und ein Fenster mit weiteren Links und einem Profilfoto öffnet sich. Wenn dieses Fenster geöffnet ist reicht ein Klick auf den Orb oder irgendwo außerhalb des Fensters um es zu schließen.

Voraussetzung: Auf der Seite muss jQuery eingebunden sein.

Installation

Ich erkläre die Installation der html7bar kurz in textform und weiter unten gibt es noch ein Video zum Nachmachen.

Kurz: .zip Archiv von unten downloaden, lokal entpacken, die Dateien auf den Server hochladen, Pfade in der

html7bar.html

anpassen und die .html mit php includen. Dann Links, Icons und Profilbild anpassen. Das Profilbild sollte 60x60px, Icons 16x16px bzw 32x32px groß sein.

Szenario: Ich möchte die html7bar in einem anderen Projekt einbauen. Um den Code des Projekts nicht unnötig zu vergrößern werde ich darauf hin arbeiten, dass am Ende in diesem Projekt nur noch mit

<?php include("http://url.zur/html7bar/html7bar.html"); ?>

die html7bar eingebaut wird. Somit bleibt eine eindeutige Trennung der html7bar und des ursprünglichen Projekts, der Code bleibt übersichtlich und aktivieren/deaktivieren ist durch das Auskommentieren dieser Zeile vollbracht.

In diesem Video zeige ich die Installation in weniger als 2 Minuten:

Konfiguration

Links ändern:
Sowohl die Links der Orb-Fensters als auch die Links der Taskbar sind in der

html7bar.html

enthalten. Dort könnt ihr URL und Linktext normal abändern.
Icons:
Die Icons müssen alle im

img

Unterordner liegen.
Die Maße sollten 16x16px für die Taskbaricons und 32x32px für die Orb-Fenstericons sein. Hintergrund transparent.
Die Icons werden ebenfalls in der html7bar.html entsprechend angepasst.
Profilfoto:
Das Profilfoto muss ebenfalls im

img

Ordner liegen, sollte 60x60px groß sein und wird in der

html7bar.css

in Zeile 91 (

background: url("img/profilfoto.png") no-repeat;

) angepasst.

Screenshots:

html7bar als Lesezeichen-/Linkleiste:

html7bar als persönlicher, öffentlicher Newsfeed:

Demo

Demo
aktive Version: 2.3

Testnutzung:

<?php include("http://public.hannes-schurig.de/html7bar/html7bar.html"); ?>
Download

html7bar [.zip] (100KB)
aktive Version: 2.3

Changelog


v1.0 – release
v1.0.1 – html7bar credits postlink, fix credits padding
v1.0.2 – fix bar margin (left)
v1.0.3 – several css fixes, almost no css resets anymore (3 left)
v1.1 – using sprite images instead of multiple images (where it is possible) for better performance
v1.2 – it’s now possible to hide the html7bar
v1.3 – better graphics and css, hover everywhere
v1.4 – better sliding trick for hiding the bar (http://bit.ly/oYRoBF)
v1.5 – save html7bar visibility in cookie (if possible), show/hide html7bar on revisit
a.k.a. v2.0 – bugfixes, design optimization, show/hide html7bar with cookie-saving support
v2.1 – search field in orb window now searches the blog
v2.1.1 – code cleaning in html and css, 1 error in transitional xhtml left (has to)
v2.2 – buttons for configs, about and deactivate … i’m not really into this popping-out window myself because of the colors, thinking about something different
v2.3 – finished design for config/about/deactivate-window with shadow-background

Mein neuestes Projekt könnt ihr seit Kurzem in meinem Blog sehen. Die html7bar getaufte Windows 7 nachempfundene Web Taskbar platziert sich am unteren Rand einer Webseite und sieht dort einfach mal gut aus 😉

Genutzt Techniken: HTML, CSS, jQuery

Testnutzung:

<?php include("http://public.hannes-schurig.de/html7bar/html7bar.html"); ?>

Morgen gibt’s den Download, Code, bla. Heute erstmal nur als Preview.

Klingt einfach, mit Batch die IP Adresse des Rechners auslesen und speichern. Hat mich erstaunlich lange aufgehalten eine Lösung zu finden.
Die meisten Tipps bei Google nutzen den Output von ipconfig, suchen nach einem „IP“ ähnlichen String, bearbeiten diesen und filtern die IP.
Beispiel:

:: FUNKTIONIERT NICHT!! BEI AKTUELLEREN SYSTEMEN,SIEHE UNTEN
IPCONFIG |FIND "IP" > %temp%\TEMPIP.txt
FOR /F "tokens=2 delims=:" %%a in (%temp%\TEMPIP.txt) do set IP=%%a
del %temp%\TEMPIP.txt
set IP=%IP:~1%
echo %IP% >%temp%\ip.txt

Seit Windows Vista und IPv6 funktioniert das aber nicht mehr. Ein falscher String wird abgespeichert.
Den String aus der ipconfig zu fischen ist ziemlich ungelenk, eine aktuelle und bessere Lösung zu finden ist nicht so einfach.

Lösung:

for /f "skip=1 tokens=2 delims=[]" %%* in ('ping.exe -n 1 -4 %computername%') Do (set "IP=%%*")

via

Mit dieser Zeile wird die IPv4 Adresse des aktuellen primären Interfaces gespeichert. Mit dem Parameter

-6

statt

-4

wird die primäre IPv6 Adresse in der Variable abgelegt. Funktioniert auch in Win XP, Win 7 und Server 2008.
Ich liebe Einzeiler und finde diese Lösung damit umso charmanter.

Update:
Memo an mich, einzelne Bytes der IP extrahieren:

for /f "skip=1 tokens=2 delims=[]" %%* in ('ping.exe -n 1 -4 %computername%') Do (set "IP=%%*") 
echo %IP%
:: 145.123.2.31
for /f "tokens=1,2,3,4 delims=." %%a in ("%IP%") do set IPb1=%%a&set IPb2=%%b&set IPb3=%%c&set IPb4=%%d
echo %IPb4%
:: 31

Alle Bytes der IP Adresse sind jetzt ansprechbar.
via

Der Errorlevel fängt den Rückgabewert des vorhergehenden Befehls auf und gibt ihn aus.
Also:

run bla.exe
echo %errorlevel%

Oftmals möchte ich aber zwischen dem Befehl und der Reaktion auf den Errorlevel noch weitere Befehle durchführen.
Denkbar wären auch Sprungmarken, die auf den Errorlevel reagieren. Bisher habe ich diese direkt als nächsten Befehl bearbeiten müssen, oftmal wären vorher Logeinträge oder ähnliches sinnvoll gewesen.

Heute kam ich auf die Idee den Errorlevel bestimmter Befehle einfach in Variablen zwischenzuspeichern:

:repair
%o2k10%\setup.exe /repair ProPlus /config %o2k10%\ProPlus.WW\SilentRepairConfig.xml
set repairerrorlevel=%errorlevel%
REM weitere Befehle...
echo %date% %time% - Office repariert, errorlevel: %repairerrorlevel% >> %log%
REM weitere Befehle...
if %errorlevel%==0 (goto bla) else (goto end)
:wait
ping 127.0.0.1 -n 300 >> nul
goto repair
:end
if %repairerrorlevel%==1012 goto wait
if %repairerrorlevel%==1018 goto wait
if %repairerrorlevel%==1019 goto wait
if %repairerrorlevel%==1030 shutdown -r -f -t 120 -c "Um die Office Reperatur erfolgreich abzuschliessen muss der Computer neugestartet werden. Der Computer wird in 120 Sekunden neugestartet!"

So lässt sich der Errorlevel eines Befehls beliebig oft abfragen und verarbeiten. Ohne Zwischenspeicherung wäre das nicht möglich.

Kein Tag ohne Google News? Stimmt.
Im Chrome gibt es jetzt Benutzerprofile (seit gestern v14.0.825.0 dev-m). Die Sache ist noch sehr grundlegend – fast schon lächerlich – realisiert, funktioniert aber.
Oben links wird das Icon des gerade gewählten Profils angezeigt. Mit Klick darauf bietet ein Kontextmenü das Erstellen, Wechseln und Löschen neuer Profile an.

Bei der Wahl eines Profils unter „Chrome Profiles“ (vorab muss ein weiteres Profil erstellt werden) öffnet sich ein neues Chrome Fenster mit den Einstellungen dieses Profils. Ein neu erstelltes Profil ist komplett vom Standardprofil abgekapselt und nimmt keinerlei Einstellungen mit, das Fenster gleicht dem einer Neuinstallation.

Ich denke hier ist noch einiges an Arbeit notwendig aber Google wird hier in den nächsten Tagen oder Wochen sicher viel drehen.
Nutzt ihr denn Browserprofile? Ich ehrlich gesagt nicht aber ich denke darüber nach einen Browser speziell auf Webentwicklerbedürfnisse und einen Browser für das Standardsurfen einzurichten.

Ich habe heute bei Google Mail folgende neue Leiste vorgefunden:

Neue Mail-Sortierungs-Modi sind: Important first, Unread first, Starred first, Priority Inbox.
Important First sortiert Mails mit Personen, mit denen man häufig schreibt, nach oben. Unread und Starred first ist klar, ungelesene und markierte Mails vor. Die Priority Inbox ist etwas komplexer aber nicht neu. Mails werden mit „Wichtigkeitsmarkern“ versehen, Google lernt daraus und packt zukünftig wichtige Mails nach oben. Empfand ich als ziemlich nutzlos und verwirrend.

Vor allem Unread first finde ich bombig! Bisher habe ich mir mit Boomerang for GMail (Ergänzung) ungelesene Mails, die Stück für Stück nach unten und damit außer Sichtweite rutschten, wieder nach oben senden lassen. Boomerang ist seit letzter Woche kostenpflichtig und eine Alternative wäre somit diese Woche sowieso fällig gewesen. Diese neuen Inbox Types sind also nahezu perfekt getimed.

Ich werde die kommende Zeit diese Techniken mal ausprobieren und schauen, ob sich damit effektiver arbeiten lässt.
Habt ihr schon die neuen Inbox Types getestet? Welchen Typ würdet ihr bevorzugen?