Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Отключение подключенных сетевых шар / 11 сообщений из 11, страница 1 из 1
27.12.2016, 09:52
    #39375815
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
Чтобы отключить конкретную шару пишем:
net use \\127.0.0.1\share /delete /y

Чтобы отключить все подключенные шары:
net use * /delete /y


Вопрос:
Как отключить подключенные шары одного сервера?

Например, net use:

\\10.0.0.1\folder1
\\10.0.0.11\folder2
\\127.0.0.1\share1
\\127.0.0.1\share2

Нужно одной командой отключить все шары на сервере 127.0.0.1.
...
Рейтинг: 0 / 0
27.12.2016, 10:01
    #39375821
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
Пропустить вывод net use через find, выделить токены шар требуемого сервера и удалить их.
...
Рейтинг: 0 / 0
27.12.2016, 10:03
    #39375824
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
Akina,

for /F "skip=4 tokens=2" %a in ('net use | find "127.0.0.1"') do (net use %a /delete /y)

Не дают net use через find пропустить. Пишет непредвиденный символ |.
...
Рейтинг: 0 / 0
27.12.2016, 11:03
    #39375877
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
Сделал с помощью текстового файла. Но мне кажется есть способ осуществить и без него.

for /F "skip=4 tokens=2" %%a in ('net use') do (echo %%a | find "127.0.0.1" >> C:\list.txt)
for /F %%a in (C:\list.txt) do (net use %%a /delete /y)
...
Рейтинг: 0 / 0
27.12.2016, 11:19
    #39375884
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
Ну так внутри DO в первой строке выполняй FOR /F из второй. Зачем файл-то? или тебя смущает, что внутренний FOR будет получать одну-единственную строку?
...
Рейтинг: 0 / 0
27.12.2016, 11:20
    #39375886
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
Хотя токен у тебя уже почищен, так что FOR внутренний не нужен, можно просто сравнивать литерально полученный токен с требуемым.
...
Рейтинг: 0 / 0
27.12.2016, 11:52
    #39375897
reaque
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
Akina,

Каким образом можно сравнить?
Пробовал через If - не подходит - он сравнивает полное совпадение.
Мне же необходимо сравнить \\127.0.0.1\share1 с 127.0.0.1. (надо что-то типа like).

Вычитал, что можно такое сравнение реализовать вот так:

@setlocal enableextensions enabledelayedexpansion
@echo off
set str1=%1
if not x%str1:bcd=%==x%str1% echo It contains bcd
endlocal

Но не могу найти help по синтаксису: "x%str1:bcd=%==x%str1%".
...
Рейтинг: 0 / 0
27.12.2016, 12:21
    #39375918
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
reaqueне могу найти help по синтаксису
IF /?Изменение команды IF при включении расширенной обработки команд:

IF [/I] строка1 оператор_сравнения строка2 команда
IF CMDEXTVERSION число команда
IF DEFINED переменная команда

где оператор_сравнения принимает следующие значения:

EQL - равно
NEQ - не равно
LSS - меньше
LEQ - меньше или равно
GTR - больше
GEQ - больше или равно,

а ключ /I, если он указан, задает сравнение текстовых строк без учета
регистра. Ключ /I можно также использовать и в форме строка1==строка2
команды IF. Сравнения проводятся по общему типу данных, так что если
строки 1 и 2 содержат только цифры, то обе строки преобразуются в числа,
после чего выполняется сравнение чисел.
...
Рейтинг: 0 / 0
27.12.2016, 12:26
    #39375921
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
reaqueМне же необходимо сравнить \\127.0.0.1\share1 с 127.0.0.1. (надо что-то типа like).
Вот чего нет, того нет. Но путь шары прекрасно бьётся на токены по слэшу...
...
Рейтинг: 0 / 0
27.12.2016, 17:14
    #39376277
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
reaque
Код: plaintext
for /F "skip=4 tokens=2" %a in ('net use | find "127.0.0.1"') do (net use %a /delete /y)
Не дают net use через find пропустить. Пишет непредвиденный символ |.А подумать:
Код: plaintext
  net use|for /f ... ('find ...') ...
?
...
Рейтинг: 0 / 0
27.12.2016, 21:41
    #39376388
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отключение подключенных сетевых шар
reaqueНо не могу найти help по синтаксису: "x%str1:bcd=%==x%str1%".
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
set /?
...
Подстановка переменной среды может быть расширена следующим образом:

    %PATH:str1=str2%

расширит действие переменной среды PATH, заменяя каждое вхождение "str1" в
расширенном результате на "str2".  "str2" может быть пустой строкой для
эффективного удаления вхождений "str1" из расширенного вывода. "str1" может
начинаться со звездочки, и в этом случае это будет соответствовать любому
началу расширенного вывода до первого вхождения оставшейся части "str1".

AkinaВот чего нет, того нет.
Было бы желание.
Можно по токенам разобрать, можно свою функцию несколькими способами написать, можно модификатор ~p использовать.
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Отключение подключенных сетевых шар / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]