批处理之家's Archiver

youxi01 发表于 2008-1-3 22:45

批处理if命令入门训练

先附两个相关知识题:
1、如何获得一个随机数?
2、批处理如何设置 等待 用户输入字符?

3、检测随机数是否大于 10000,如果是,则显示如下:
该随机数 大于 10000
如果不是,则显示:该随机数 小于 10000

4、检测用户输入的变量是否为:A,如果是,则显示:你输入的为A
否则,显示:你输入的不为A

tbxzsw 发表于 2008-2-18 16:31

这个问题怎么写啊?不会啊?请管理员指点啊@!

kennywah 发表于 2008-3-11 11:44

我不会啊..刚入门的.啥都不会..不知道从哪里开始学.管理告诉下我啊.我该从哪里开始学啊.

pusofalse 发表于 2008-3-11 22:11

1  echo %random%
2 set /p puso="请输入 "
3  if %random% gtr 10000 (echo 该随机数大于10000) else echo 该随机数小于10000
4 if "%puso%"=="A" (echo 你输入的是A) else 你输入的不为A

CecleCW 发表于 2008-3-19 01:08

1、如何获得一个随机数?
@echo off
set rdm=%random%
echo %rdm%
pause>nul

2、批处理如何设置 等待 用户输入字符?
@echo off
set /p test=Please enter something:
echo %test%
pause>nul

3、检测随机数是否大于 10000,如果是,则显示如下:
该随机数 大于 10000
如果不是,则显示:该随机数 小于 10000

@echo off
set rdm=%random%
echo %rdm%
if %rdm% gtr 10000 (echo rdm is greater than 10000) else (echo rdm is less than 10000)
pause>nul


4、检测用户输入的变量是否为:A,如果是,则显示:你输入的为A
否则,显示:你输入的不为A
@echo off
set /p test=Please enter something:
echo %test%
if %test%==A (echo You enter an A) else (echo You enter not an A)
pause>nul

dong0078 发表于 2008-4-10 21:07

天啊 看得一头雾水 还是看看其他教程先

wjta 发表于 2008-4-27 21:56

我想请问下,set后面的都是随意设的一个代码么?受不受限制?

youxi01 发表于 2008-4-27 22:08

根据楼上“set后面...”估计是变量名的意思

当然,变量名的取法没什么太大的限制,遵循一些正常的规则就行了(循规蹈矩)
1、不要出现等号
2、最好不要用特殊字符

wjta 发表于 2008-4-27 22:40

还好,现在基本上还能看懂每一步的意思,呵呵,菜鸟,没办法啊,呵呵...

xiaoxx 发表于 2008-4-28 08:46

[size=12pt]@echo off[/size]
[size=12pt]set /p input=请输入[/size]
[size=12pt]if %input%==A (echo 输入等于A) else if %input%==B (echo 输入等于B) else echo 输入不等于A也不等于B[/size]
[size=12pt]pause[/size]

tangfu 发表于 2008-6-8 12:31

以前,
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
形式用得比较多,if else这种形式的用法,今天才大开眼界

freshlin 发表于 2008-6-27 16:47

自己动手做了下,

果然发现不少问题,总是忘这忘那,

谢谢啦

null 发表于 2008-8-3 12:25

第一个:
echo %random%

第二个:
set /p x=请输入字符:

第三个:
set a=%random%
if "%a%" GTR "10000" (echo 该随机数 大于 10000) else (echo 该随机数 小于 10000)

第四个:
set /p x=请输入变量:
if "%x%"=="A" (echo 你输入的为A) else (echo 你输入的不为A)

Yioky 发表于 2008-8-30 19:12

随机数出来了,但是怎么给它定义范围啊
比如我只要0-100的
还有就是我如果要定义一个数等于其他数的四则数和怎么做
我用set /a rdm= (90 /=5)不行也  - -!

z_berry 发表于 2008-9-2 14:18

新人新手,大家多照顾

a794685135 发表于 2008-9-2 16:47

[code]@echo off
set a=%random%
echo 这是取值到的随机数:%a%
if %a% GTR 10000 (echo 该随机数 大于 10000) else (
echo 该随机数 小于 10000)
set /p b=请输入"A":
if A EQU %b% (echo 你输入的为A) else (
echo 你输入的不为A)
pause[/code]
显示的结果是:
[quote]
这是取值到的随机数:17269
该随机数 大于 10000
请输入"A":
你输入的不为A)
请按任意键继续. . .
[/quote]
如果代码换成
[code]
@echo off&setlocal EnableDelayedExpansion
set a=!random!
echo 这是取值到的随机数:!a!
if !a! GTR 10000 (echo 该随机数 大于 10000) else (
echo 该随机数 小于 10000)
set /p b=请输入"A":
if A EQU !b! (echo 你输入的为A) else (
echo 你输入的不为A)
pause[/code]
则显示的是
[quote]
这是取值到的随机数:17945
该随机数 大于 10000
请输入"A":
你输入的不为A
请按任意键继续. . .
[/quote]


顺便问一下 ,怎么我获得的随机数老是在增加 ?

gavinnu 发表于 2008-9-4 00:49

怎么写得,我想知道。谢谢

风轻月 发表于 2008-9-4 10:41

新手菜鸟前来学习一下下

jellyhk 发表于 2008-9-4 19:37

本人知道第4的个,哎.这也是用了5分中才搞出来的!
我想这个题可以用if    else搞出来吧!写的不对请指正!!我没用过else呵呵就自己想办法用自己知道的方法搞出来了!!yeah
总算不辱没了这么久的学习!
[quote]
@echo off
set /p a=请输入~
if not "%a%" == "A" echo 你输入的不是A>1.txt
if not exist 1.txt echo 你输入的是A
if exist 1.txt echo 你输入的不是A
del 1.txt
pause
[/quote]

[[i] 本帖最后由 jellyhk 于 2008-9-4 19:38 编辑 [/i]]

yuanyi123 发表于 2008-9-5 07:14

学习,不断进步

flyinshanghai 发表于 2008-9-5 16:27

回复 1楼 的帖子

新手入门,希望能从实例中学习一些新东西

3399kl 发表于 2008-9-11 13:27

看了半天,能看懂点了

xupanfeng 发表于 2008-9-11 16:15

回复 5楼 的帖子

支持    大力支持   反对 灌水

batbird 发表于 2008-9-11 16:31

第一个
[code]@echo off
set a=%Random%
if %a% gtr 10000 (echo 该随机数大于10000) else (echo 该随机数小于10000)
pause[/code]
第二个
[code]@echo off
set /p a=请输入一个字母:
if %a%==A (echo 你输入的为A) else (echo 你输入的不为A)
pause[/code]

lulu520zlh 发表于 2008-9-19 14:57

[code]@echo off
set rdm=%random%
echo %rdm%
if %rdm% gtr 10000 (echo 该随机数大于10000) else (echo 该随机数小于

10000)
pause>nul
set /p A=请输入A:
if %A%==A (echo 你输入的是A) else (echo 你输入的不是A)
pause>nul[/code]

辉少 发表于 2008-9-25 19:24

[code]@echo off
:AA
cls
echo 1
echo %random%
pause
echo 2
set /p var=请输入:
echo %var%
pause
echo 3
set aa=%random%
if %aa% gtr 10000 (echo %aa%大于10000) else echo %aa%小于10000
pause
echo 4
set /p var=请输入:
if "%var%"=="A" (echo 你输入的为A) else echo 你输入不为A
pause[/code]

myself2005 发表于 2008-10-1 09:40

i 不错,我也来学习一下,!希望大家支持我!

shenmeshibat 发表于 2008-10-2 16:42

疑问

为什么echo %random% 输出的都是5位的数字,然后随机变化的也只有后三位?

if %rdm% gtr 10000 (echo rdm is greater than 10000) else (echo rdm is less than 10000)
pause>nul  ::这个可以讲解下吗?

@echo off
set /p test=Please enter something:
echo %test%
if %test%==A (echo You enter an A) else (echo You enter not an A)
pause>nul  ::这个可以讲解下吗?

shenmeshibat 发表于 2008-10-2 16:53

[quote]原帖由 [i]辉少[/i] 于 2008-9-25 19:24 发表 [url=http://bbs.bathome.net/redirect.php?goto=findpost&pid=11044&ptid=461][img]http://bbs.bathome.net/images/common/back.gif[/img][/url]
@echo off          ::关闭回显
:AA                     ::标签AA
cls                      ::清屏
echo 1               ::显示1
echo %random%::显示一个随即数。(为什么随即算都是五位??不明白。)
pause                 ::暂停,等待输入
echo 2                  ::显示2
set /p var=请输入:    ::(这里的什么意思啊?)
echo %var%             ::显示上面的变量值????
pause                       ::暂停
echo 3                      ::显示3
set aa=%random%   ::设置变量aa为随即数。
if %aa% gtr 10000 (echo %aa%大于10000) else echo %aa%小于10000  ::完全看不懂!
pause                       ::暂停
echo 4 ... [/quote]     ::显示 4            ... [/quote]   这个是什么?


各位大虾,从上面能看出来我的水平是特别差,现在我很迷茫,学习批处理应该从哪入手比较适合我的情况?
希望指点下。谢谢

foolharry 发表于 2008-10-23 00:22

期待管理员答案,。

页: [1] 2 3 4 5

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.