Impossibile connettersi a una rete wireless utilizzando cmd


1

Sto cercando di connettere il mio telefono al mio PC tramite FTP e aprire FTP con Windows Explorer usando il cmd.

Di seguito sono riportati i codici:

@echo off 
echo Setup connection to ftp 192.168.43.1 
ipconfig | findstr /I "192.168.43.1"
:: Opens ipconfig and searches for string "192.168.43.1" in the output of ipconfig to check if 192.168.43.1 is connected 
if %errorlevel% == 0 ( 
echo Connection set
%windir%\explorer.exe ftp://192.168.43.1:8888/ 
) else ( 
echo Connection not set 
echo Setting up connection... 
netsh wlan connect name="sdc-yayjg"
:: "sdc-yayjg" is the host name of 192.168.43.1
timeout 3 > NUL 
echo Opening ftp 192.168.43.1
ipconfig | findstr /I "192.168.43.1" 
if %errorlevel% == 0 ( 
echo Connection set
%windir%\explorer.exe ftp://192.168.43.1:8888/ 
) else ( 
echo FAIL: Connection not set. 
echo Press any key to exit. 
pause > NUL

Archivo quei codici in un file batch e quando eseguo il file batch, cmd si apre per circa un millisecondo e poi esce, intendo la finestra cmd lampeggia solo per alcuni millisecondi e non succede nulla. Non è stata stabilita alcuna connessione.
I codici funzionano bene senza il comando "findstr". Non riesco a rimuovere quel comando poiché è molto essenziale controllare lo stato della rete.


Cosa succede a CMD quando si inserisce "; pause" alla fine del file batch? ("pause> NUL" non sembra funzionare per te.)
Ultrasonic54321

@ Ultrasonic54321 Ho aggiunto '; pause', alla fine, lo stesso sta accadendo, cioè la finestra lampeggiante. Non ho notato alcun cambiamento.
Xlam,

Quindi ovviamente findstr non trova la stringa nell'output di ipconfig. Inoltre, il soggetto ha affermato che stai tentando di eseguire l'ftp dal tuo telefono al desktop, ma questo sarebbe il contrario (hai installato un server ftp sul tuo telefono?).
psusi,

@psusi Quando digito direttamente ipconfig e premo invio in una finestra cmd quando il mio PC è collegato al mio telefono, vedo l'indirizzo IP nell'output. Il problema si è verificato solo durante l'esecuzione dal file batch insieme agli altri codici. Comunque, il problema sembra essere con l '"if-else nidificato" che avevo usato nel mio codice. Se if-else nidificato viene sostituito con 'goto', i codici funzionano correttamente. Vedi la risposta di Ultrasonic54321
Xlam

Risposte:


1

Prova questo codice (modificato per migliorare la modularità per i futuri utenti e codice leggermente migliorato per una migliore esperienza utente):

@echo off
goto setup
:setup
title FTP Connection w/ network support 

SET "FTP=192.168.43.1"
:: Location of the FTP server

SET "FTPPORT=8888"
:: The FTP server's port

SET "WIRELESS=sdc-yayjg"
:: The network where the FTP server resides

SET "TRIES=0"
:: Please do not tamper with.

SET "MAXTRIES=3"
:: How many tries before failure

SET "TIMETOCONNECT=3"
:: How much time to give to connect to the network

echo Setting up connection to FTP %FTP%...
goto check1
:check1
if %TRIES% LSS %MAXTRIES% (
SET /A "TRIES=TRIES+1"
goto check2
) else (
goto Fail
)
:check2
echo Checking for FTP Server presence...
ipconfig | findstr /I "%FTP%"
:: Opens ipconfig and searches for %FTP%. (in this case it's "192.168.43.1") in the output of ipconfig to check if 192.168.43.1 is connected 
if %errorlevel% EQU 0 ( 
goto 0
) else ( 
echo Presence not found. Assuming connection not set...
goto 1
)
:1
echo Connection not set after %TRIES% times.
echo Setting up connection... 
netsh wlan connect name="%WIRELESS%"
:: This script assumes that WIRELESS (sdc-yayjg) houses the IP (192.168.43.1)
timeout %TIMETOCONNECT% > NUL 
goto check1
:Fail
echo FAIL: Connection not set after %MAXTRIES% tries. 
echo Press any key to exit. 
pause > NUL
exit
)
:0
echo Internet Connection set - Connecting to FTP via Windows Explorer...
%windir%\explorer.exe ftp://%FTP%:%FTPPORT%/ 
echo Connection Sucessful. Windows Explorer should now open...
echo Press any key to close this window.
pause > NUL
exit

Nel caso in cui il codice sopra riportato non funzioni, il codice originale (che funziona secondo OP con alcune modifiche estetiche) è inferiore.

@echo off 
echo Setting up connection to FTP 192.168.43.1...
goto Check
:check
ipconfig | findstr /I "192.168.43.1"
:: Opens ipconfig and searches for 192.168.43.1 in the output of ipconfig to check if 192.168.43.1 is connected 
if %errorlevel% == 0 ( 
goto 0
) else ( 
goto 1

)
:: Close your if statements!
:1
echo Connection not set 
echo Setting up connection... 
netsh wlan connect name="sdc-yayjg"
:: "sdc-yayjg" is the host name of 192.168.43.1
timeout 3 > NUL 
echo Opening ftp 192.168.43.1
ipconfig | findstr /I "192.168.43.1" 
if %errorlevel% == 0 ( 
goto 0
) else ( 
echo FAIL: Connection not set after three tries. 
echo Press any key to exit. 
pause > NUL
:: Close your if statements!
exit
)
:0
echo Internet Connection set - Connecting to FTP via Windows Explorer...
%windir%\explorer.exe ftp://192.168.43.1:8888/ 
exit

Modificherei il codice per renderlo più modulare, ma non sono al mio computer in questo momento.
Ultrasonic54321

Usando il tuo codice, il dispositivo si collega correttamente ma non apre Esplora risorse come dovrebbe con i tuoi codici. Non riesco a capire perché non si sta aprendo
Xlam

Oh aspetta ora che si apra. Non so cosa sia andato storto quella volta. Grazie
Xlam,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.