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

11791
Alex

На компьютере с 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 

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

1
Что вы пытаетесь достичь с помощью 0.0.0.0 / 32? Это никогда не будет соответствовать ничего, кроме `0.0.0.0`. «0.0.0.0 / 8» является зарезервированной сетью. Daniel B 10 лет назад 0
@Daniel: Таким образом, пример в приведенной ссылке не имеет никакого смысла? Alex 10 лет назад 0
Точно, это просто неправильно. Вы можете легко проверить это сами: запустите `netsh interface ipv4 show route`, и вы увидите, что шлюз по умолчанию имеет` 0.0.0.0 / 0` в качестве целевой сети. Daniel B 10 лет назад 1

3 ответа на вопрос

1
piernov

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

1
BastianW

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

0
Jeff

Apparently on Windows 7, you need to use a different syntax to execute the command in the correct context. Preface the context specifiers interface ipv4 with a -c parameter and quote the entire context specifier. For example, to set the adapter to DHCP:

netsh -c "interface ipv4" set address name="Local Area Connection" source=dhcp