Plik wsadowy do przełączania mapowanych lokalizacji dysków

0

Muszę zmienić dysk mapowany, ponieważ pracuję na dwóch serwerach i nie chcę zmieniać ścieżek przechowywanych w modyfikowanych przeze mnie plikach.

Ogólnie obie lokalizacje są mapowane jako P: w mojej firmie.
Zastanawiam się, jak to zrobić. Czy mogę uzyskać pomoc?

Mam dwa zastosowania netto:

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

Uruchamiam skrypt, aby zmapować jako literę P:

  1. jeśli nie ma zmapowanego dysku ze skryptem P: zrób to, powiedzmy pierwszy

    NET USE P: \\PLKRKXXXX.XXX.XX\Assignment
    
  2. jeśli dysk jest już zmapowany jako P: zestawy skryptów faktyczne użycie sieci jako litera L: a drugie zestawy jako P: a kiedy ponownie uruchomię ten skrypt, zmienia on lokalizację mapowanych dysków L i P, ponieważ w nich po prostu je przełącza.

Używam teraz dwóch prostych skryptów wsadowych, które wyglądają jak wyżej, ale wiem, że można użyć pewnych warunków, aby poprawić działanie.

Nie jest dla mnie ważne, czy będzie to skrypt nietoperza, vbs czy cokolwiek innego, co chcę to zrobić za pomocą jednej ikony.

EDYCJA: Próbowałem twoich odmian i może nie byłem wystarczająco jasny. Obie lokalizacje (serwery) są dostępne za każdym razem, ale muszę się między nimi przełączać. Raz pracuję na moim serwerze lokalnym i raz na serwerze zagranicznym. Ale oba są mapowane jako P: (dla każdego użytkownika), więc muszę zrobić przełączenie (zależy od tego, jaki projekt pracuję teraz). Mogę przyjąć priorytet, jak sugerujesz (ale nie ma wielkiej wagi, czy będę mógł go przełączyć za pomocą ponownie uruchom skrypt). W każdym razie dzięki za twój wysiłek.

Uruchamiam skrypt, a następnie:

przypadek 1a: Mam zmapowane dyski jak poniżej

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

po zakończeniu skryptu - wystarczy je przełączyć na:

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

przypadek 1b: (ponownie uruchamiam skrypt), więc mam na początku:

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

po ponownym uruchomieniu powróci, aby rozpocząć

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

przypadek 2: (nie mam zmapowanego dysku P:), a następnie skrypt wykonuje mapowanie

P: \\PLKRKXXXX.XXX.XX\Assignment
Krzysztof Psujek
źródło

Odpowiedzi:

1

Co powiesz na to podejście?

Oczywiste jest, że jeśli masz tylko jeden udział sieciowy, chcesz go zmapować jako P: Teraz musisz zdecydować o priorytecie. Na który dysk mapujesz, P:kiedy oba udziały sieciowe są dostępne? Załóżmy, że zdecydujesz, że \\SEXXXXX\Projekt\ma on pierwszeństwo\\PLKRKXXXX.XXX.XX\Assignment

Następnie po prostu użyj:

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

Kluczem jest tutaj wykonanie warunkowe za pomocą &&i||

Art Gertner
źródło
0

Możesz użyć, existaby sprawdzić, czy litera dysku istnieje:

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
)
Berend
źródło