
24855
06.03.2006, aktualisiert am 07.03.2006
In Batch testen ob Laufwerksbuchstabe einem Netzlaufwerk zugeordnet
Hallo Leute,
ich möchte in einer Batch überprüfen, ob ein Buchstabe schon einem Laufwerk zugeordnet ist..
eigentlich müsste es doch wie bei einem normalen Ordner funktionieren, in dem ich überprüfe, ob es in dem Pfad ein "null" device gibt ... problem .. er sagt mir "/nul" ist an dieser Stelle syntaktisch nicht verarbeitbar... ????
.. mein Buchsatabe ist hier "i" ich will auf diese Art und Weise 2 Buchstaben durchtesten und zur Not auf einen 3. gehen .. einer muss ja mal frei sein
...
if (exist %i:%\nul) goto iistda Else (goto iistnichtda)
...
thx 4 Help
Janosch
edit ..als ich meinen Beitrag noch mal las .. in eurer Schrift art fiel mir auf das die Klammer vor der Bedingung stand .. muss nochmals testen .. aber ich denke, das ist schon die Lösung
ich möchte in einer Batch überprüfen, ob ein Buchstabe schon einem Laufwerk zugeordnet ist..
eigentlich müsste es doch wie bei einem normalen Ordner funktionieren, in dem ich überprüfe, ob es in dem Pfad ein "null" device gibt ... problem .. er sagt mir "/nul" ist an dieser Stelle syntaktisch nicht verarbeitbar... ????
.. mein Buchsatabe ist hier "i" ich will auf diese Art und Weise 2 Buchstaben durchtesten und zur Not auf einen 3. gehen .. einer muss ja mal frei sein
...
if (exist %i:%\nul) goto iistda Else (goto iistnichtda)
...
thx 4 Help
Janosch
edit ..als ich meinen Beitrag noch mal las .. in eurer Schrift art fiel mir auf das die Klammer vor der Bedingung stand .. muss nochmals testen .. aber ich denke, das ist schon die Lösung
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 27518
Url: https://administrator.de/forum/in-batch-testen-ob-laufwerksbuchstabe-einem-netzlaufwerk-zugeordnet-27518.html
Ausgedruckt am: 27.04.2025 um 15:04 Uhr
14 Kommentare
Neuester Kommentar
Hallo WI#Janosch.
Hast du am Anfang deiner Batch die Variable %i:% definiert?
Du kannst also die Sache auf 2 arten angehen.
1. Variante du legst am anfang fest welche Laufwerke du testen willst
set Laufwerk1=I:
set Laufwerk2=K:
set Laufwerk3=L:
if not exist %laufwerk1% goto I_frei
if not exist %laufwerk2% goto K_frei
if not exist %Laufwerk3% goto L_frei
goto nicht_da
:I_frei
REM Hier kommen die Befehle hin die Ausgeführt werden sollen wenn I: frei ist.
exit
:K_frei
REM Hier kommen die Befehle hin die Ausgeführt werden sollen wenn K: frei ist.
exit
:L_frei
REM Hier kommen die Befehle hin die Ausgeführt werden sollen wenn L: Frei ist.
exit
:nicht_da
REM Hier kommen die Befehle hin die Ausgeführt werden sollen wenn keiner der 3 Laufwerke frei ist.
exit
Du kannst das Ganze auch machen in dem du den set Befehl weg lässt und nur nach den Laufwerken an sich suchst.
Also nur mal so als Beispiel
if not exist I: goto I_Frei
Das sind meine Vorschläge es gibt noch mehr aber es fällt mir kein weiterer ein.
Ich Hoffe das die dieser Kommentar hilft.
Hast du am Anfang deiner Batch die Variable %i:% definiert?
Du kannst also die Sache auf 2 arten angehen.
1. Variante du legst am anfang fest welche Laufwerke du testen willst
set Laufwerk1=I:
set Laufwerk2=K:
set Laufwerk3=L:
if not exist %laufwerk1% goto I_frei
if not exist %laufwerk2% goto K_frei
if not exist %Laufwerk3% goto L_frei
goto nicht_da
:I_frei
REM Hier kommen die Befehle hin die Ausgeführt werden sollen wenn I: frei ist.
exit
:K_frei
REM Hier kommen die Befehle hin die Ausgeführt werden sollen wenn K: frei ist.
exit
:L_frei
REM Hier kommen die Befehle hin die Ausgeführt werden sollen wenn L: Frei ist.
exit
:nicht_da
REM Hier kommen die Befehle hin die Ausgeführt werden sollen wenn keiner der 3 Laufwerke frei ist.
exit
Du kannst das Ganze auch machen in dem du den set Befehl weg lässt und nur nach den Laufwerken an sich suchst.
Also nur mal so als Beispiel
if not exist I: goto I_Frei
Das sind meine Vorschläge es gibt noch mehr aber es fällt mir kein weiterer ein.
Ich Hoffe das die dieser Kommentar hilft.
Also wenn ich das jetzt richtig verstanden habe willst du die batch (zum testen ob die laufwerke schon belegt sind) auf dem anderen ausführen.
Warum kopierst du nicht die batch auf den anderen Rechner und startest sie dann via Remote auf diesem rechner.
Nachdem die Errorlog kopiert wurde kannst du das netzlaufwerk unmounten und die Batch löschen.
Wäre jetzt mein vorschlag.
Warum kopierst du nicht die batch auf den anderen Rechner und startest sie dann via Remote auf diesem rechner.
Nachdem die Errorlog kopiert wurde kannst du das netzlaufwerk unmounten und die Batch löschen.
Wäre jetzt mein vorschlag.
Hi WI#Janosch.
Nach meinem Feierabend habe ich das ganze Szenario mal durchgespielt.
Habe ein 2. Rechner genommen( bei beiden Windows XP Professionell drauf).
Habe dann via VNC ( also remote) gestartet.
Die Batch auf den 2. Rechner kopiert.
Batch gestartet.
Alles hat einwandfrei geklappt.
Darum verstehe ich ja auch nicht warum es bei dir nicht geht.
Wenn du willst kann ich dir heute Abend mal die Batch die ich geschrieben komplett schicken. Bin nur gerade auf arbeit und habe mein Rechner aus also komme nicht an meine Daten auf meiner Festplatte ran. Vielleicht kann ja bis dahin jemand anderes dein Problem lösen.
Nach meinem Feierabend habe ich das ganze Szenario mal durchgespielt.
Habe ein 2. Rechner genommen( bei beiden Windows XP Professionell drauf).
Habe dann via VNC ( also remote) gestartet.
Die Batch auf den 2. Rechner kopiert.
Batch gestartet.
Alles hat einwandfrei geklappt.
Darum verstehe ich ja auch nicht warum es bei dir nicht geht.
Wenn du willst kann ich dir heute Abend mal die Batch die ich geschrieben komplett schicken. Bin nur gerade auf arbeit und habe mein Rechner aus also komme nicht an meine Daten auf meiner Festplatte ran. Vielleicht kann ja bis dahin jemand anderes dein Problem lösen.
Ja das mit dem Testen gestern Abend war kein Aufwand. Hat 10 min gedauert da ich ja sowieso VNC schon am laufen habe.
Ist das nicht egal wie du die Batch Startest?
Hauptsache die Batch wir auf dem zu steuernden Rechner ausgeführt. Oder sehe ich das jetzt falsch? Hab leider nicht die absolute Ahnung von Remote.
Ist das nicht egal wie du die Batch Startest?
Hauptsache die Batch wir auf dem zu steuernden Rechner ausgeführt. Oder sehe ich das jetzt falsch? Hab leider nicht die absolute Ahnung von Remote.