|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Проверка доступности сетевой папки |
|
CMD/BAT - Проверка доступности сетевой папки
|
Новый участник Сообщения: 20 |
Доброго времени суток. Возникла следующая задача: нужно проверить доступность сетевой папки (Например: 10.80.1.1\shared).
Я думаю проверять доступность, созданием файла 10.80.1.1\shared\log.txt, а затем его удаление. Если не сложно, напишите код скрипта, буду благодарен за любую помощь. |
|
Отправлено: 20:21, 23-02-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:40, 23-02-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Может в курсе кто, необходимо размонтировать контейнер в программе TrueCrype. Смонтированный на диск Z.
Нашел пример TrueCrypt /q /dz, но не работает. |
Отправлено: 20:50, 23-02-2015 | #3 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Если кому интересно, то вот... контейнер монтируется, если сетевая папка доступна. И демонтируется, как доступ до папки пропадает.
@Echo Off if not exist "\\10.80.1.10\shared" ( if exist "Z:" ( "C:\Program Files\TrueCrypt\TrueCrypt.exe" /q /s /d Z ) ) else ( if not exist "Z:" ( "C:\Program Files\TrueCrypt\TrueCrypt.exe" /q /lZ "C:\12.tc" /k "\\10.80.1.10\logs\1.png" ) ) |
Отправлено: 12:38, 24-02-2015 | #4 |
Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать Добрый день.
Имеется проблема с проверкой доступности сетевой папки. Исходные тестовые данные такие. К Wi-Fi роутеру подключена флешка с NTFS и настроен доступ по Samba по аккаунту. Подключение, отключение и проверку произвожу с CMD-файла запущенного в уже открытом окне командной строки из ограниченной учётной записи в Win 10 Pro x64 Ru и Win 7 Ult x64 Ru (это два разных «железных» компьютера подключенных к роутеру по кабелю и ситуация у них одинаковая). После успешного отключения от сетевой папки (сообщается «успешно удален.»), проверка показывает, что доступ есть. При этом, если не закрывая окна командной строки закомментировать строчку в CMD-файле с установкой соединения и запустить его повторно, то тот же код по проверке наличия доступа к папке показывает, что доступа нет. Изначально доступ к сетевой папке проверял через создаваемую папку и файл в ней после отключения от сетевой папки. Результат был такой же. Привожу полностью код тестового CMD-файла и результат его работы (логин и пароль я заменил). И, соответственно, вопрос — в чём ошибка и как это исправить? Код CMD-файла
Echo On Rem Выставляем кодовую страницу "Кириллица OEM 866". CHCP 866 Rem Включение расширенной обработки команд (EnableExtensions) Rem и отложенного расширения переменных среды (EnableDelayedExpansion) SetLocal EnableExtensions EnableDelayedExpansion Set "Check=Empty" Net.exe Use "\\192.168.1.1\Test" "Пароль" /User:"Логин" /persistent:no TimeOut.exe /T 2 Net.exe Use "\\192.168.1.1\Test" /delete TimeOut.exe /T 2 Net.exe Use "\\192.168.1.1\Test" /delete TimeOut.exe /T 2 Echo %Check% If Exist "\\192.168.1.1\Test\." ( Set "Check=Y" ) Else ( Set "Check=N" ) Echo %Check% Результат работы CMD-файла
Test.cmd Echo On Rem Выставляем кодовую страницу "Кириллица OEM 866". CHCP 866 Текущая кодовая страница: 866 Rem Включение расширенной обработки команд (EnableExtensions) Rem и отложенного расширения переменных среды (EnableDelayedExpansion) SetLocal EnableExtensions EnableDelayedExpansion Set "Check=Empty" Net.exe Use "\\192.168.1.1\Test" "Пароль" /User:"Логин" /persistent:no Команда выполнена успешно. TimeOut.exe /T 2 Время ожидания 0 сек., нажмите любую клавишу для продолжения ... Net.exe Use "\\192.168.1.1\Test" /delete \\192.168.1.1\Test успешно удален. TimeOut.exe /T 2 Время ожидания 0 сек., нажмите любую клавишу для продолжения ... Net.exe Use "\\192.168.1.1\Test" /delete Не удалось найти сетевое подключение. Для вызова дополнительной справки наберите NET HELPMSG 2250. TimeOut.exe /T 2 Время ожидания 0 сек., нажмите любую клавишу для продолжения ... Echo Empty Empty If Exist "\\192.168.1.1\Test\." (Set "Check=Y" ) Else (Set "Check=N" ) Echo Y Y Test.cmd Echo On Rem Выставляем кодовую страницу "Кириллица OEM 866". CHCP 866 Текущая кодовая страница: 866 Rem Включение расширенной обработки команд (EnableExtensions) Rem и отложенного расширения переменных среды (EnableDelayedExpansion) SetLocal EnableExtensions EnableDelayedExpansion Set "Check=Empty" TimeOut.exe /T 2 Время ожидания 0 сек., нажмите любую клавишу для продолжения ... Net.exe Use "\\192.168.1.1\Test" /delete Не удалось найти сетевое подключение. Для вызова дополнительной справки наберите NET HELPMSG 2250. TimeOut.exe /T 2 Время ожидания 0 сек., нажмите любую клавишу для продолжения ... Net.exe Use "\\192.168.1.1\Test" /delete Не удалось найти сетевое подключение. Для вызова дополнительной справки наберите NET HELPMSG 2250. TimeOut.exe /T 2 Время ожидания 0 сек., нажмите любую клавишу для продолжения ... Echo Empty Empty If Exist "\\192.168.1.1\Test\." (Set "Check=Y" ) Else (Set "Check=N" ) Echo N N |
|
Отправлено: 01:55, 02-05-2019 | #5 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата Andrey_Vladimirovich:
SMB не предназначен для сессионного использования, к тому же /delete по определению - ненадёжное средство, т.к. не рвёт используемые соединения. Хотите ограниченный доступ - используйте другой протокол, либо заведите отдельного пользователя и от его имени запускайте скрипт (и больше ничего). |
|
Отправлено: 11:26, 02-05-2019 | #6 |
Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать Busla
правильно ли я понимаю, что пока работает запущенный CMD-файл, нет возможности отключиться от подключённой сетевой папки и, соответственно, команда "/delete" и не должна работать, несмотря на её предназначение? |
Последний раз редактировалось Andrey_Vladimirovich, 02-05-2019 в 17:02. Отправлено: 15:15, 02-05-2019 | #7 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Busla,
Цитата:
net use |find " character:" >nul && net use character: /d || net use character: \\serverName\shareName userPassword /user:userName /persistent:no Andrey_Vladimirovich, Цитата:
|
||
Отправлено: 19:15, 16-06-2021 | #8 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Anatoliy.Reader, думаю, спустя уж более 2-х лет, им это или уже не надо или давно нашли решение.
|
Отправлено: 19:25, 16-06-2021 | #9 |
Пользователь Сообщения: 122
|
Профиль | Отправить PM | Цитировать Цитата Anatoliy.Reader:
|
|
Отправлено: 18:59, 17-06-2021 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Проверка доступности FTP сервера | codi28 | Скриптовые языки администрирования Windows | 2 | 23-06-2014 11:32 | |
Проверка доступности сайта | warikkk | Хочу все знать | 2 | 22-04-2013 18:40 | |
VBS/WSH/JS - [решено] Проверка существования и доступности сетевой папки | white155 | Скриптовые языки администрирования Windows | 1 | 12-01-2012 17:33 | |
Прочее - Проверка сетевой карты | Virus1981 | Сетевое оборудование | 21 | 14-07-2008 14:35 |
|