我经常使用批处理文件来让计算机为我做事。但大多数情况下,我会让它做我已经决定的事情。比如,如果我一个人,就打开我的隐藏文件,或者开始播放特定的播放列表。这些事情对于像我这样的初学者来说足够简单。
但现在我想尝试让它自己定义是否应该打开这个文件或另一个文件。例如,我编写命令行(见下文)来问我一个问题,我必须回答:
set /p input==how much on 10?
如您所见,我可以用 0 到 10 之间的任何数字来回答。我可以编写一个命令行来告诉它对每个值要做什么,例如:
if %input%==10 then ten
等等...
但是如果两个或三个值有相同的输入,如果我不想逐个编写所有这些命令行怎么办?例如,如果在 4 及以下时我想打开我的时间表,在 8 及以下时我想打开我的播放列表,在 8 以上时我想打开另一个播放列表怎么办?
也许使用“大于”或“小于”符号?
我试过这样做,但没有效果。但也许我做错了?
答案1
尝试以下代码
@echo off
set /p input=how much on 10?
if %input% LSS 4 (
msg * Less Than 4
) else (
if %input% LSS 8 msg * Less Than 8 )
这里的 msg 是条件满足时执行的命令。你可以按照下面的方法修改它来运行你的程序
@echo off
set /p input=how much on 10?
if %input% LSS 4 (
YourProgram1
) else (
if %input% LSS 8 YourProgram2 )
您可以使用的其他选项来代替 LSS
EQU 等于
NEQ 不等于
LSS 小于
LEQ 小于或等于
GTR 大于
GEQ 大于或等于
答案2
查看choice
批处理文件中创建菜单的命令。请参阅http://www.robvanderwoude.com/choice.php和http://www.wikihow.com/Create-Options-or-Choices-in-a-Batch-File了解详情
如果你仍然喜欢,set /p
那么看看http://www.sevenforums.com/tutorials/78083-batch-files-create-menu-execute-commands.html