Пакетный файл для переключения мест расположения на диске

523
Krzysztof Psujek

Я должен переключить свой подключенный диск, потому что я работаю на двух серверах и не хочу менять пути, хранящиеся в файлах, которые я изменяю.

Обычно оба местоположения отображаются как P: в моей компании.
Мне просто интересно, как сделать что-то подобное. Могу ли я получить вашу помощь?

У меня есть два чистых использования:

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

Я запускаю скрипт для сопоставления как буква P:

  1. если нет подключенного диска с P: скрипт, пусть он скажет первый

    NET USE P: \\PLKRKXXXX.XXX.XX\Assignment 
  2. если диск уже подключен как P: сценарий устанавливает фактическое использование сети в виде буквы L: а второй - как P: и когда я снова запускаю этот сценарий, он меняет расположение для сопоставленных дисков L и P, так как он просто переключает их.

Сейчас я использую два простых пакетных сценария, которые выглядят как выше, но я знаю, что можно использовать некоторые условия, чтобы сделать его лучше.

Для меня не важно, будет ли это скрипт bat или vbs или что я просто хочу сделать, запустив один значок.

РЕДАКТИРОВАТЬ: Я попробовал ваши варианты и, возможно, я не был достаточно ясен. Оба местоположения (серверы) доступны каждый раз, но я должен переключаться между ними. Когда-то я работал на своем локальном сервере и один раз на стороннем сервере. Но оба сопоставлены как P: (для каждого пользователя), поэтому мне нужно переключиться (зависит от того, над каким проектом я сейчас работаю). Я могу взять на себя приоритет, как вы предлагаете (но не имеет большого значения, смогу ли я переключить его снова запустить скрипт). В любом случае, спасибо за ваши усилия.

Я запускаю скрипт, а затем:

Случай 1а: у меня есть подключенные диски, как показано ниже

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

когда скрипт выполнен - ​​просто переключите их на:

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

случай 1b: (я снова запускаю скрипт), поэтому у меня есть начало:

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

после того, как я запустите его снова, он вернется, чтобы начать

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

случай 2: (у меня нет сопоставленного диска P:), затем скрипт выполняет сопоставление

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

2 ответа на вопрос

1
Art Gertner

Как насчет этого подхода.

Понятно, что если у вас есть только один доступный сетевой ресурс, вы хотите, чтобы он был отображен как P: Теперь вам нужно выбрать приоритет. Какой диск вы подключаете, P:когда оба сетевых ресурса доступны? Предположим, вы решили, что \\SEXXXXX\Projekt\получаете приоритет над\\PLKRKXXXX.XXX.XX\Assignment

Тогда просто используйте:

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 

Ключевым моментом здесь является использование условного выполнения с &&и||

0
Berend

Вы можете использовать, existчтобы проверить, существует ли буква диска:

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 ) 

Похожие вопросы