desidia
Goto Top

Batch unter Win7 zum prüfen ob Freigaben vorhanden um Netzlaufwerk zu verbinden auf WHS

Hallo,

im Einsatz:
HTPC - Windows 7
Server - Windows HomeServer (auf Basis Server 2003)

Problem:
Mein HTPC fährt hoch, und sobald er sich anmeldet sendet dieser per WindowsServerConsole einen WOL Befehl an den Server. Dieser benötigt dann einige Sekunden um hochzufahren.
Sprich der HTPC ist komplett da und könnte seine benötigen NEtzlaufwerke herstellen, aber der Server ist noch nicht komplett da um diese bereit zu stellen.
Daher habe ich derzeit eine Zeitschleifen drin (WAIT 30 Sekunden) doch leider funktioniert es manchmal, und manchmal nicht.
Daher wollte ich mein Startscript zum verbinden der Laufwerke optimieren.

Ich möchte prüfen ob \\server\abc zur Verfügung steht und dann das Netzlaufwerk X:\abc erzeugen.
Wenn die Freigabe noch nicht zur verfügung steht soll er 5 Sekunden warten und dann nochmal abfragen.
Ich habe im Internet einige Scripte gefunden, aber alle funktionieren nicht so wie gewollt, den egal ob der ping auf den Server erfolgreich war oder nicht führt er das Script weiter aus ohne von neuem zu beginnen face-confused-alt

Das Script ist bisher:


:START
IF NOT EXIST X: goto noX
goto ende

:noX
ping -n 1 server
if "%errorlevel%"=="0" net use X: \\server\abc

IF EXIST X: goto ende


:ende

Vielen Dank für eure Hilfe!

Content-ID: 193808

Url: https://administrator.de/contentid/193808

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

andimue
andimue 06.11.2012 um 13:57:43 Uhr
Goto Top
Hallo desidia,

schau dir mal die Hilfe zum if-cmd an (if /?). Da ist erklärt, wie der errorlevel abgefragt werden muss
u.shan
u.shan 06.11.2012 um 14:18:07 Uhr
Goto Top
Versuch mal:

IF EXIST X:\ goto ende

:noX
ping -n 1 server
if %errorlevel% EQU 0 net use X: \\server\abc

IF NOT EXIST X:\ goto noX

:ende
desidia
desidia 06.11.2012 um 14:43:03 Uhr
Goto Top
genau das isses! danke für die schnelle Hilfe! face-smile

Zitat von @u.shan:
Versuch mal:

IF EXIST X:\ goto ende

:noX
ping -n 1 server
if %errorlevel% EQU 0 net use X: \\server\abc

IF NOT EXIST X:\ goto noX

:ende