Почему я получаю сообщение об ошибке "Неверный синтаксис имени файла, имени каталога или метки тома" при использовании netsh set route?

На компьютере с Windows7 я пытался установить стандартный шлюз, следуя этому примеру:

netsh.exe interface ipv4 set route 0.0.0.0/32 "Internet" 172.16.5.1

который вернул следующую ошибку:

The filename, directory name, or volume label syntax is incorrect

Почему это так, и как я могу установить стандартный шлюз для моих соединений?

3 ответа

Вам нужно использовать имя вашего реального интерфейса вместо "Internet", Вы можете перечислить их с netsh interface show interface,

В интерфейсе есть какое-то "базовое имя", настроенное при его первом создании или когда оно изменяется вручную. Вы можете получить это используя:

netsh interface ipv4 show config

Это может отличаться от того, что вы видите в окне графического интерфейса или от запуска netsh interface show interface

Попробуйте вместо этого использовать это имя интерфейса - это работает для меня на Windows 7.

У меня просто была похожая проблема. Проблема заключалась в "символе". Я скопировал netsh из текстового документа, который я получил от нашего поставщика программного обеспечения, и вставил его непосредственно в CMD и изменил необходимые детали, что не удалось с упомянутой здесь ошибкой. Однако, когда я сначала скопировал строку в Блокнот и заменил один из "Я обнаружил, что они разные, поэтому я заменил оба / повторно набрал оба, и проблема решена сейчас.

Очевидно, в Windows 7 вам нужно использовать другой синтаксис для выполнения команды в правильном контексте. Предисловие спецификаторов контекста связывает интерфейс ipv4 с параметром -c и заключает в кавычки весь спецификатор контекста. Например, чтобы установить адаптер на DHCP:

netsh -c "interface ipv4" set address name="Local Area Connection" source=dhcp
Другие вопросы по тегам