|
Answer» Is a little batch to run ip config I make because one of my friend is scare of command prompt! (since I use choice.exe I know is only work in vista or maybe other...). Anyway I think I make some bug an I need a cleanup. Plx can you tell me what to do (or COPY paste the code with modification)? Thx a lots! P.S. 1.Sorry for my bad english since is not my native language 2. You are free to add your credit to the code or make it look better =)
here the code :
:start @echo off color 1f @echo ---------------------------------------------------------------------- @echo. @echo ______ ____ ___ @echo /\__ _\ /\ _`\ /'___\ __ @echo \/_/\ \/ \ \ \L\ \ ___ ___ ___ /\ \__//\_\ __ @echo \ \ \ \ \ ,__/ /'___\ / __`\ /' _ `\ \ ,__\/\ \ /'_ `\ @echo \_\ \__\ \ \/ /\ \__//\ \L\ \/\ \/\ \ \ \_/\ \ \/\ \L\ \ @echo /\_____\\ \_\ \ \____\ \____/\ \_\ \_\ \_\ \ \_\ \____ \ @echo \/_____/ \/_/ \/____/\/___/ \/_/\/_/\/_/ \/_/\/___L\ \ @echo /\____/ @echo \_/__/ @echo. @echo.---------------------------------------------------- Make by: Charge50 @echo. @echo (S)imple (no info) or (P)ro (All info) mode? press (Q) to quit @echo. @echo Run this file as administrator @echo (if you WANT to use Ip release) @echo. @echo (S, P or Q) choice /n /c qsp if errorlevel 3 goto pro if errorlevel 2 goto simple if errorlevel 1 goto quit :simple cls @echo Do you want to run Ip Release (recomended) @echo. @echo you need to right click on you ICON @echo an run as administrator @echo to run this function @echo. @echo (Y or N) choice /n /c yn if errorlevel 2 goto cren if errorlevel 1 goto release :release cls @echo Ip is gona be release in 5 sec @echo (If operation take more than 45 sec close the windows) ping localhost -n 6 1>NUL 2>&1 @echo. ipconfig /release 1>NUL 2>&1 if errorlevel 1 goto norel @echo. @echo.---------- @echo Ip Release @echo.---------- :cren cls @echo Do you want to run Ip Renew (The repair) @echo. @echo (Y or N) choice /n /c yn if errorlevel 2 goto quit if errorlevel 1 goto renew :renew cls @echo Ip is gona be renew in 5 sec @echo (If operation take more than 45 sec close the windows) @echo. ping localhost -n 6 1>NUL 2>&1 ipconfig /renew 1>NUL 2>&1 if errorlevel 1 goto norel @echo. @echo.-------- @echo Ip Renew @echo.-------- @echo. @echo you ip is supposed to be ok @echo. pause :quit cls @echo press any key to exit pause 1>NUL 2>&1 exit :norel cls @echo ------------------------------ @echo Ip release fail! @echo ------------------------------ @echo Did you run as administrator? @echo The option release is optional @echo. @echo Do you want to run Ip Renew instead? (the repair) @echo or press R to retry Ip release @echo. @echo (Y, N or R) choice /n /c ryn if errorlevel 3 goto exit if errorlevel 2 goto renew if errorlevel 1 goto release :noren cls @echo ------------------------------ @echo Ip renew fail! @echo ------------------------------ @ For some reason Ip renew fail! @echo. @echo Do you want to try again? (Y or N) @echo or press R to restart the program @echo. @echo (Y, N or R) choice /n /c ryn if errorlevel 3 goto quit if errorlevel 2 goto renew if errorlevel 1 goto start :startpro @echo ---------------- @echo Ip Repair Batch @echo.---------------- :pro @echo. @echo Do you want to run Ip Release @echo You may need to run as administrator @echo. @echo (Y or N) @choice /n /c yn if errorlevel 2 goto crenpro if errorlevel 1 goto releasepro :releasepro @echo. ipconfig /release if errorlevel 1 goto norelpro pause @echo. @echo.---------- @echo Ip Release @echo.---------- :crenpro @echo. @echo Do you want to run Ip Renew @echo. @echo (Y or N) choice /n /c yn if errorlevel 2 goto quitpro if errorlevel 1 goto renewpro :renewpro @echo. ipconfig /renew if errorlevel 1 goto norelpro pause @echo. @echo.-------- @echo Ip Renew @echo.-------- @echo. @echo you ip is supposed to be ok goto quitpro :norelpro @echo. @echo ------------------------------ @echo Ip release fail! @echo ------------------------------ @echo Did you run as administrator? @echo. @echo Do you want to run Ip Renew instead? @echo or press R to retry Ip release @echo. @echo (Y, N or R) choice /n /c ryn if errorlevel 3 goto quitpro if errorlevel 2 goto renewpro if errorlevel 1 goto releasepro :norenpro @echo. @echo ------------------------------ @echo Ip renew fail! @echo ------------------------------ @ For some reason Ip renew fail! @echo. @echo Do you want to try again? @echo or press R to restart the program @echo. @echo (Y, N or R) choice /n /c ryn if errorlevel 3 goto quitpro if errorlevel 2 goto renewpro if errorlevel 1 goto start :quitpro @echo. ipconfig /? @echo ---------------------- @echo type exit to quit cmd @echo ---------------------- cmdThe choice commands are using invalid switch syntax:
Wrong: Code: [Select]choice /n /c qsp
Right: Code: [Select]choice /n /c:qsp
This too is right; your choice! Code: [Select]choice /n /cqsp
Check all your choice commands. You were very consistent. If you put @echo off at the beginning. You don't need all those @'s .Quote from: Sidewinder on February 02, 2009, 06:16:45 PM The choice commands are using invalid switch syntax:
Wrong: Code: [Select]choice /n /c qsp
Right: Code: [Select]choice /n /c:qsp
This too is right; your choice! Code: [Select]choice /n /cqsp
Check all your choice commands. You were very consistent.
Thx for the tip so i guess choice /n /c qsp can work with choice.exe but not .com an /n /c:qsp work with both.
anyway I'm currently trying to remove some an repost it after I add windsock repair...but actually I don't know where to put it in the code (after ip renew? after...). Also I guest by copy choice.com in the same folder of the batch will make it work in windows xp an vista (since I think choice.exe don't work in xp...)Quote from: BatchFileCommand on February 02, 2009, 06:19:57 PMIf you put @echo off at the beginning. You don't need all those @'s .
Also thx for the tips! Is my second batch file (First 1 was hello world XD) so is a little If backward compatibility is not a concern, then use the Vista choice options as /c qsp. Both choice.exe (NT prior to Vista) and choice.com (DOS) will break with a space between the /c switch and the choices.
Repeating the last suggestion, use @echo off at the top of your file and remove the @ from the other echo statements.
To prevent writing duplicate code, put the ipconfig /renew and ipconfig /release statements in subroutines where you can call them at the appropriate times.
Quoteanyway I'm currently trying to remove some <junk> an repost it after I add windsock repair...but actually I don't know where to put it in the code (after ip renew? after...)
Repairing the winsock catalog is done with the netsh utility. Not sure you should put it here or design a batch application for netsh separately.
Good luck.
|