Netzlaufwerk bei Bedarf verbinden bzw. löschen Verfasst am: 02.08.2010, 09:53
Hallo Zusammen
Ich bin leider ein Anfänger im Bereich der Batch Programmierung. Ich habe folgendes Problem.
Auf Arbeit benutzt unsere Abteilung einen gemeinsamen Server (Laufwerk Y). Anfangs habe ich diesen einmal manuell Verbunden und damit gearbeitet. Es hat sich aber schnell herausgestellt, dass Windows XP damit nicht besonders gut umgehen kann, wenn das Netz mal nicht verfügbar ist. Also wenn ich den Rechner auf einer Reise oder zu Hause benutze. Dann ist der Explorer extrem langsam, weil er ständig versucht das Laufwerk Y zu mappen. Dann war immer manuell abmelden angesagt. Wenn dann wieder Netz da war manuell anmelden mit User und Passwort Eingabe. Naja diese nervige Prozedur hat mich dazu getrieben mich einmal mit der Batch-Programmierung zu versuchen. Soweit bin ich erst einmal mittels Forumsuche und Google gekommen.
Code:
@ECHO Off
set UserID=xyz
set Password=xyz
set FileserverMount=y:
set FileserverIP=xx.yy.zzz.zzz
set FileserverFreigabe=xyz
ping %FileserverIP%>nul
if "%errorlevel%"=="0" (
echo Die Fileserver-IP "%FileserverIP%" ist erreichbar.
if exist %FileserverMount%\NUL (
echo "%FileserverMount%\" ist bereits verbunden.
echo Keine Žnderungen vorgenommen.
) ELSE (
echo "%FileserverMount%\" ist nicht verbunden.
C:\winnt\system32\net.exe use %FileserverMount% \\%FileserverIP%\%FileserverFreigabe% /USER:%UserID% %Password%
If "%errorlevel%"=="0" (
echo "%FileserverMount%\" wurde verbunden
)
)
)
IF "%errorlevel%"=="1" (
echo Die Fileserver-IP "%FileserverIP%" ist nicht erreichbar.
C:\winnt\system32\net.exe use %FileserverMount% /DELETE
echo "%FileserverMount%\" wurde getrennt.
)
pause
Bisher macht das Batch folgendes.
Beim starten der Batchdatei (Autostart oder manuell per Desktoplink) überprüfen ob Server gepingt werden kann.
Wenn pingbar: --> Überprüfen ob Y existiert.
Wenn Y existiert: --> sollte alles in Ordnung sein
Wenn Y nicht existiert: --> soll Server auf Y gemappt werden
Wenn Server nicht pingbar ist: --> Y löschen
Funktioniert auch ganz gut (stolz sei)!
ABER: zwei Sachen stören mich noch
1. Wenn der Server pingbar ist, prüfe ich im Moment nur ob das Laufwerk Y: existiert und gehe davon aus, dass dann alles in Ordnung ist. Eigentlich müsste ich aber prüfen ob der Server auch wirklich auf Y: gemappt ist. Könnte ja auch ein USB stick sein oder Sonstwas?! Weiß jemand, wie ich das prüfen kann?
2.Wenn der Server nicht pingbar ist, funktioniert das batch nur beim ersten Durchlauf zufriedenstellend. Denn beim zweiten Durchlauf ist Y ja schon gelöscht worden. Ich bekomme dann die Fehlermeldung:
Zitat:
the Network connection could not be found
Weiß jemand, wie ich das optimieren kann?
PS: dann noch eine weitere Frage am Rande. Kann man das Batch aufgrund einer Änderung des Netzwerkes automatisch starten? Also wenn ich den Netzwerkstecker rausziehe, soll das batch loslaufen?