Как перечислить сетевые компьютеры из командной строки?

Выполнение команды с эхом сначала является хорошей идеей, но это все еще подвержено опечаткам.

Попытайтесь использовать его с расширением такой как! $.

echo foo*
rm -rf !$

! $ расширяется до последнего слова последней команды, таким образом, это эквивалентно

echo foo*
rm -rf foo*

Существует также! *, который расширяется до всех аргументов последней команде.

Действительно, Вы могли сделать это этот путь, если Вы предпочитаете

echo rm -rf foo*
!*

(Если Вы используете ksh, не колотят, можно ввести Esc+period для вставки последнего слова вместо этого.)

4
задан 2 July 2009 в 05:53
2 ответа

Форматирование в "сетевом представлении" является довольно дрянным для парсинга, так как это отображает имена NetBIOS, и они могут содержать пробелы. (Почему любой на самом деле использовал бы пробелы, вне меня, хотя...),

Если Вы уверены, что Ваши имена компьютеров не имеют пробелов, делают:

@echo off
for /f "usebackq delims= " %%i in (`net view ^| find "\\"`) do echo %%i

Очевидно, замените вызовом на другой пакетный файл или команду для "эха".

3
ответ дан 3 December 2019 в 03:26

Существует много способов перечислить системы; на самом деле у меня есть целая страница Wiki, посвященная просто этому.

Но один довольно хороший путь с nbtscan, который даст Вам список как это:

C:\> nbtscan 192.168.1.0/24
192.168.1.3     MTNDEW\WINDEV               SHARING DC
192.168.1.5     MTNDEW\TESTING
192.168.1.9     MTNDEW\WIZ                  SHARING U=STEVE
192.168.1.99    MTNDEW\XPDEV                SHARING
2
ответ дан 3 December 2019 в 03:26

Теги

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