Probieren Sie diesen Code aus (bearbeitet zur Verbesserung der Modularität für zukünftige Benutzer und etwas verbesserter Code für eine bessere Benutzererfahrung):
@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
Falls der obige Code nicht funktioniert, ist der ursprüngliche Code (der gemäß OP mit einigen kosmetischen Änderungen funktioniert) unten aufgeführt.
@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