If greater than batch files

2019-03-09 16:35发布

I wrote a simple batch file to run Frequently Used websites based on a number selection. Here's the code I have. I am trying to set it so if someone inputs a number 6 or greater it will go to :N but whenever I type 6 the batch file exits. I have tried if %input% > 6 goto :N but it just tells me I am going to Google.

@echo off
:Start2 
cls
goto Start
:Start
title Frequently Used Websites
echo Please select a website from the list
echo with the corresponding key
echo --------------------------------------
echo [1] Google
echo [2] Wikipedia
echo [3] Facebook
echo [4] Youtube
echo [5] Yahoo
set input=
set /p input= Choice:
if %input%==1 goto Z if NOT goto Start2
if %input%==2 goto X if NOT goto Start2
if %input%==3 goto C if NOT goto Start2
if %input%==4 goto V if NOT goto Start2
if %input%==5 goto B if NOT goto Start2
if %input%>=6 goto N

:Z
cls
echo You have selected Google
pause
start www.google.com
exit
:X
cls
echo You have selected Wikipedia
pause
start www.wikipedia.com
exit
:C
cls
echo You have selected Facebook
pause
start www.facebook.com
exit
:V
cls
echo You have selected Youtube
pause
start www.youtube.com
exit
:B
cls
echo You have selected Yahoo
pause
start www.Yahoo.com
exit
:N
cls
echo Invalid Selection! Try again
pause
goto :start2

4条回答
Emotional °昔
2楼-- · 2019-03-09 16:52

You can write this (easier)

@echo off

:Start2
cls
goto Start

:Start
title Frequently Used Websites
echo Please select a website from the list
echo with the corresponding key
echo --------------------------------------
echo [1] Google
echo [2] Wikipedia
echo [3] Facebook
echo [4] Youtube
echo [5] Yahoo

set /p input= Choice: 

if %input%==1 goto Z
if %input%==2 goto X
if %input%==3 goto C
if %input%==4 goto V
if %input%==5 goto B
echo Invalid selection!
echo.
echo Press any key to go back!
pause >nul
cls
goto start2

:Z
cls
echo You have selected Google
pause
start www.google.com
exit

:X
cls
echo You have selected Wikipedia
pause
start www.wikipedia.com
exit

:C
cls
echo You have selected Facebook
pause
start www.facebook.com
exit

:V
cls
echo You have selected Youtube
pause
start www.youtube.com
exit

:B
cls
echo You have selected Yahoo
pause
start www.Yahoo.com
exit

:N
cls
echo Invalid Selection! Try again
pause
goto start2
查看更多
做自己的国王
3楼-- · 2019-03-09 16:53

try this:

if 3 gtr 2 @echo "biggger"

This outputs:

"biggger"

enter image description here

The other operators are:

EQU - equal
NEQ - not equal
LSS - less than
LEQ - less than or equal
GTR - greater than
GEQ - greater than or equal

Reference

查看更多
beautiful°
4楼-- · 2019-03-09 16:54

Actually, you don't even need a greater feature. All you need to do is add

goto homepagename

Then you will be taken there if none of the if commands execute a goto command.

For example, this will fix your code:

@echo off
:Start2 
cls
goto Start
:Start
title Frequently Used Websites
echo Please select a website from the list
echo with the corresponding key
echo --------------------------------------
echo [1] Google
echo [2] Wikipedia
echo [3] Facebook
echo [4] Youtube
echo [5] Yahoo
set input=
set /p input= Choice:
if %input%==1 goto Z if NOT goto Start2
if %input%==2 goto X if NOT goto Start2
if %input%==3 goto C if NOT goto Start2
if %input%==4 goto V if NOT goto Start2
if %input%==5 goto B if NOT goto Start2
if %input%>=6 goto N
goto Start
查看更多
做个烂人
5楼-- · 2019-03-09 17:13
    if %var% geq 1

is the easiest way

查看更多
登录 后发表回答