Как написать командную строку в .bat или .cmd, которая отображает сетевой диск? Я хочу, чтобы сценарий сначала проверял, сопоставлена ли буква диска, и если он удаляет ее, а затем сопоставит диск.
У меня сейчас есть только маппинг-команда. Пожалуйста, помогите мне заполнить поля:
REM Check if drive exists, if it does, delete it
@echo off
net use q: /persistent:yes \\localhost\C$\MyFolder
pause
Есть ли неверные параметры? Что-нибудь нужно добавить?
Вы можете проверить наличие диска или папки, проверив, существует ли в них специальный файл "nul", т.е.
REM Test if drive exists
IF EXISTS Q:\NUL GOTO Unmap
GOTO Continue
:Unmap
NET USE Q: /DELETE
:Continue
NET USE Q: /persistent:yes \\localhost\C$\MyFolder
Конечно, поскольку вы все равно собираетесь удалить его, вы можете просто удалить его и не утруждать себя проверкой наличия.
Вы можете использовать эту команду для удаления сопоставления (проверка не требуется):
net use q: /d
Не пытайтесь его проверять, просто используйте "net use q: / delete", который удаляет его, если он существует, иначе он просто возвращает ошибку.
Если затем вы запустите сценарий в автоматическом режиме, используя немного vb, сообщение об ошибке не будет отображаться (как и окно dos).
Удалить диск X: с подавленными сообщениями об ошибках:
net use X: /DELETE 2> nul
Удалить диск X: при подавлении сообщений об успехе и ошибках:
net use X: /DELETE > nul 2>&1