Кто-нибудь может помочь мне исправить это? это просто останавливается каждый раз - PullRequest
0 голосов
/ 19 января 2020
@echo off
IF (netsh wlan connect ssid="SRM HOSTELS" name="SRM HOSTELS") GOTO foundit

GOTO end

:foundit
cd "C:\Users\SATYAM\My-GitHub-REPOSITORIES\SRM WIFI LOGIN"

python SRM-WiFi-Auto-Login.py

:end

Ответы [ 2 ]

0 голосов
/ 19 января 2020
netsh wlan connect ssid="SRM HOSTELS" name="SRM HOSTELS" >nul 2>&1
if errorlevel 1 (
  echo not able to connect. Exiting.
  goto :eof
)
echo successfully connected to SRM.
echo Auto-login now...
...

Первая строка: попробуйте подключиться к WLAN, перенаправить STDERR и STOUT (все выходы) на NUL (Нирвана)
Вторая строка: если это не удалось (без подключения), ... С третьей по пятую строку : ... вывести сообщение и выйти.
Шестая строка и далее: соединение установлено, выполните автоматический вход

0 голосов
/ 19 января 2020

Это средство, с помощью которого вы можете проверить вывод команды netsh для строки (условия), которую вы будете sh проверять.

For / F l oop сохраняет выходные данные во временном файле и проверяет файл на наличие требуемой строки.

'&&' выполняет следующую команду, если предшествующие команды возвращают уровень ошибки 0, который возвращает Find, когда он успешно находит строка. Это фактически приводит к проверке условия на выходе Find, эквивалентной:

If true output of netsh includes String, DO...

Ложные / неудачные действия позиционируются для немедленного выполнения, если условие не выполняется.

@echo off

FOR /F "USEBACKQ TOKENS=1,* DELIMS=" %%a IN (`YOUR NETSH COMMAND HERE`) DO (
    ECHO(%%a>>ssidCheck.txt
    FIND /I "YOUR STRING TO FIND HERE" ssidCheck.txt 2>&1>nul && Goto :found
)

:NotFound
ECHO Not found

:cleanup
DEL /Q "ssidCheck.txt"
pause
EXIT

:found
:: REM : Your 'On find, do' actions here.
ECHO found
GOTO :cleanup
...