[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 63# ghostwar
  1. @echo off
  2. echo.&echo.
  3. set /p str=请输入密码:
  4. if /i "%str%"=="qwer" (echo 密码正确!) else (echo 密码错误!
  5. )
  6. pause>nul
复制代码
1

评分人数

TOP

另有一行代码求教,
  1. echo off
  2. for %%i in (79) do echo.
  3. pause
  4. :start
  5. if %%i lss 100 (echo pretty good!&pause>nul) else (echo Ah..!&pause>nul)
  6. if %%i lss 0 (echo Pretty good!&pause>nul) else (echo SHIT!&pause>nul)
  7. goto start
复制代码
输出结果都是Pretty good,怎么回事?

TOP

回复 66# Null?


    我感觉应该是for形式变量不能在for语句外引用造成的,你可以在for语句之后echo %%i看看
  改成下面的代码就可以了
  1. echo off
  2. for %%i in (79) do (
  3.   echo.
  4.   set /a num=%%i
  5. )&pause
  6. :start
  7. if %num% lss 100 (echo pretty good!&pause>nul) else (echo Ah..!&pause>nul)
  8. if %num% lss 0 (echo Pretty good!&pause>nul) else (echo SHIT!&pause>nul)
复制代码
1

评分人数

http://www.bathome.net/s/tool/index.html

TOP

真是好帖。。太喜欢这个每日一学了。。

TOP

@echo off


set /p s=请输入1或2:

if /i "%s%"=="2" goto a
if /i "%s%"=="1" goto b
:a
echo 你输入的是2
pause
exit
:b
echo 你输入的是1
pause
exit

TOP

看不懂哇哇哇哇我

TOP

慢慢积累,学了就多了 感觉这里人挺互相照顾的
简单

TOP

回复 72# 奕博


    删除变量内容里面的双引号
1

评分人数

TOP

楼上误人啊,exsited这个东西我搞了十来分钟,原来就是把这个字符重定向到1.txt文本里面啊!!建 ...
xso300 发表于 2011-12-7 00:27
  1. set /a a=55^<^<5
复制代码
等价于
  1. set /a a=55"<<"5
复制代码
就是将十进制数55的二进制形式110111左移5位(相当于乘以2的5次方)
结果是二进制数11011100000,转化成十进制就是1760了
1

评分人数

TOP

回复 62# xso300


if  exist 1.txt  (echo 存在文本 1.txt——此时,如果你想重写1.txt,或把这句话写入该文本就在后面加 >1.txt)  else  echo 如果不存在就创建该文本 >1.txt

不管是否存在1.txt文件都创建时直接用 cd.>1.txt
如果想存在该文本文件时只是想往里写东西,则使用 if exist 判断好点。

  1. if  exist 1.txt (echo 存在文本) else echo 文本不存在&cd.>1.txt
  2. ::执行结果就是,一定存在1.txt。
复制代码
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 14# nanoking


    set "no=%no:"=%"  请教一下这个是什么意思?谢谢了!

TOP

回复 76# linzhichu11


    删掉双引号

TOP

回复 77# BAT-VBS


    谢啦!

TOP

回复 5# yslyxqysl


    关于进制的,还是不理解,我自己观察了你的示例,按照数量关系来说:第一组  第一个数字是8进制,后面是10进制。第二组第一个是16进制,后面是10进制。第三组第一个数字为8进制,后面的为16进制。
是不是想告诉我们:16进制数 必须是0X00格式  8进制 开头必须有 0  而10进制数没有别的限制可以直接表示?

TOP

学习了,很好。。。

TOP

返回列表