Возникла проблема с пакетными файлами, не выполняющими несколько строк команд - PullRequest
0 голосов
/ 15 мая 2019

В настоящее время я пытаюсь создать командный файл, который отключает некоторые настройки для моего клиента Teredo, что в конечном итоге исправляет ошибку в моем приложении Xbox.Когда я запускаю свой текущий командный файл, он вводит только первую команду и больше не прогрессирует.Я не очень знаком с пакетными файлами, и мне было интересно, может ли кто-нибудь помочь мне.

Я пытался создать несколько пакетных файлов для каждой строки, а затем вызывать их все в общем файле, но, похоже, всепросто запустите первую команду.

Вот что у меня есть:

@echo off
netsh & 
int teredo &
set state disabled &
int ipv6 &
set teredo client 

По сути, я ожидаю, что появится командная строка и выдаст несколько ответов на каждую отдельную строку, например "netsh interface teredo> "после запуска строки int teredo, но единственный ответ, который я получаю, это" netsh> ".

Ответы [ 2 ]

1 голос
/ 15 мая 2019

Просто создайте командный файл, который называется что-то вроде mynetsh.cmd и добавьте его:

(echo int teredo
echo set state disabled
echo int ipv6
echo set teredo client
)>answer.txt
netsh exec answer.txt

Она выводит каждую команду в файл, затем netsh читает команды из файла. Не нужно удалять файл ответов, так как он будет перезаписан при следующем запуске сценария.

0 голосов
/ 15 мая 2019

@echo off ( netsh int teredo set state disabled int ipv6 set teredo client )

Это сработало в первый раз, но не во второй.

Поместите эту команду в ваш пакетный файл:

netsh -f test.txt

test.txt:

int teredo 
set state disabled 
int ipv6 
set teredo client

NETSH

Использование сценариев NETSH для управления информационной сетью Windows

Правильный способ выполнить работу - создать два разные скрипты. Первый скрипт будет скриптом, содержащим все команд NETSH. В этом случае скрипт будет содержать Команды DHCP и ПОКАЗАТЬ СЕРВЕР. Другой сценарий будет командным файлом который вызывает NETSH в командном режиме. Тем не менее, способ, которым NETSH введенная команда вынуждает NETSH перейти из командного режима в пакетный режим режим.

В этом конкретном случае командный файл будет вызывать оболочку NETSH, но используйте команду EXEC и имя сценария пакетного режима как параметры. Например, если вы сохранили скрипт в пакетном режиме как TEST.TXT, то строка в командном файле, который запускает скрипт, будет быть NETSH EXEC TEST.TXT. Когда вы запускаете командный файл, команда интерпретатор будет читать строку, загружать оболочку NETSH, переключаться на пакет режиме, загрузите скрипт TEST.TXT, запустите скрипт и вернитесь к командная строка (или до следующей строки в пакетном файле), когда Сценарий завершен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...