Stapeldatei zum Wechseln der zugeordneten Speicherorte

674
Krzysztof Psujek

Ich muss meine zugeordnete Festplatte wechseln, da ich auf zwei Servern arbeite und keine Pfade ändern möchte, die in den von mir geänderten Dateien gespeichert sind.

Im Allgemeinen werden beide Standorte in meiner Firma als P: zugeordnet.
Ich frage mich nur, wie man so etwas macht. Kann ich deine Hilfe bekommen?

Ich habe zwei Nutzungen:

NET USE P: /d NET USE L: \\PLKRKXXXX.XXX.XX\Assignment NET USE P: \\SEXXXXX\Projekt\ 

Ich führe ein Skript aus, um es als Buchstabe P abzubilden:

  1. Wenn es kein zugeordnetes Laufwerk mit P: script gibt, lassen Sie es zuerst sagen

    NET USE P: \\PLKRKXXXX.XXX.XX\Assignment 
  2. Wenn bereits ein Laufwerk als P: zugeordnet ist, legt das Skript die tatsächliche Netzwerknutzung als Buchstaben L: und die zweiten Sätze als P: fest. Wenn ich dieses Skript erneut ausführen, werden die Speicherorte für das zugeordnete Laufwerk L und P geändert.

Ich benutze jetzt zwei einfache Batch-Skripte, die wie oben aussehen, aber ich weiß, dass es möglich ist, einige Bedingungen zu verwenden, damit es besser funktioniert.

Es ist für mich nicht wichtig, ob es ein Fledermaus-Skript oder ein vbs ist oder was auch immer ich nur mit einem Icon ausführen möchte.

EDIT: Ich habe deine Variationen ausprobiert und vielleicht war ich nicht klar genug. Beide Standorte (Server) sind immer verfügbar, aber ich muss zwischen ihnen wechseln. Einmal arbeite ich auf meinem lokalen Server und einmal auf einem fremden Server. Beide sind jedoch als P: (für jeden Benutzer) zugeordnet. Daher muss ich den Switch ausführen (hängt davon ab, in welchem ​​Projekt ich gerade arbeite). Ich kann Priorität annehmen, wie Sie es vorschlagen (aber es ist nicht wichtig, ob ich es mit einem erneuten Skript ausführen kann). Trotzdem vielen Dank für Ihre Mühe.

Ich führe ein Skript aus und dann:

Fall 1a: Ich habe zugeordnete Festplatten wie folgt

P: \\SEXXXXX\Projekt\ and L: \\PLKRKXXXX.XXX.XX\Assignment 

Wenn das Skript fertig ist, wechseln Sie einfach zu:

L: \\SEXXXXX\Projekt\ and P: \\PLKRKXXXX.XXX.XX\Assignment 

Fall 1b: (Ich führe das Skript erneut aus), also habe ich am Anfang:

L: \\SEXXXXX\Projekt\ and P: \\PLKRKXXXX.XXX.XX\Assignment 

Nachdem ich es erneut gestartet habe, wird es wieder beginnen

P: \\SEXXXXX\Projekt\ and L: \\PLKRKXXXX.XXX.XX\Assignment 

Fall 2: (Ich habe kein P: Laufwerk zugewiesen), dann Skript-Zuordnung

P: \\PLKRKXXXX.XXX.XX\Assignment 
0

2 Antworten auf die Frage

1
Art Gertner

Wie wäre es mit diesem Ansatz?

Wenn Sie nur über eine Netzwerkfreigabe verfügen, möchten Sie, dass diese als P: Jetzt zugeordnet wird. Jetzt müssen Sie die Priorität festlegen. Welches Laufwerk ordnen Sie zu, P:wenn beide Netzwerkfreigaben verfügbar sind? Nehmen wir an, Sie entscheiden, dass \\SEXXXXX\Projekt\Priorität vorrangig ist\\PLKRKXXXX.XXX.XX\Assignment

Dann benutze einfach:

NET USE P: /DELETE NET USE L: /DELETE NET USE P: \\SEXXXXX\Projekt\ && NET USE L: \\PLKRKXXXX.XXX.XX\Assignment || NET USE P: \\PLKRKXXXX.XXX.XX\Assignment 

Der Schlüssel hier ist die Verwendung der bedingten Ausführung mit &&und||

0
Berend

Sie können verwenden exist, um zu prüfen, ob ein Laufwerkbuchstabe vorhanden ist:

if exist P: ( echo Drive P exists  NET USE P: /d NET USE L: \\PLKRKXXXX.XXX.XX\Assignment NET USE P: \\SEXXXXX\Projekt\ ) else ( echo Drive P does not exist NET USE P: \\PLKRKXXXX.XXX.XX\Assignment )