找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: 523066680

批处理IF命令的两个小练习

[复制链接]
发表于 2009-10-6 20:37:57 | 显示全部楼层
不会,一定会努力学习的
发表于 2009-10-9 19:49:38 | 显示全部楼层
1.1来个另类的,不支持特殊字符
  1. set/pi=&md "%temp%\tmp"
  2. echo\>"%temp%\tmp\%i%"
  3. set i=no&for %%i in ("%temp%\tmp\*s*") do set i=yes
  4. echo %i%&rd /s/q "%temp%\tmp"
复制代码
TRY!
发表于 2009-10-29 18:44:40 | 显示全部楼层
学习了!谢谢各位高手了
发表于 2009-10-29 21:29:40 | 显示全部楼层

针对第二题的:

也是比较另类的,不用if:
set /a num=3/(a-1) >nul 2>nul||set /a num=3/(b-2) >nul 2>nul||echo a等于1,b等于2

[ 本帖最后由 batman 于 2009-10-29 21:35 编辑 ]
 楼主| 发表于 2009-10-30 08:30:47 | 显示全部楼层
搜嘎嘚斯,前辈捧场了。
发表于 2009-11-3 16:35:03 | 显示全部楼层
版主,要是出了答案加上讲解应该会让初学者更容易明白
 楼主| 发表于 2009-11-3 18:05:36 | 显示全部楼层
哪里,这题本来就是对基础问题的小测试。
当然有疑问也可以说哈,版主通常也很热情的,不过每次都解释的话对热情很消磨的
发表于 2009-11-10 18:37:28 | 显示全部楼层
  1. rem 问题1.1
  2. @echo off&cls
  3. set /p str=请输入字符:
  4. echo.%str% | find "s"
  5. if %errorlevel%==0 (echo 字符串中有s) else (echo 字符串中没有s)
  6. pause
  7. rem 问题1.2
  8. set /p a=请输入数字a:
  9. set /p b=请输入数字b:
  10. if %a% equ 1 (
  11.    if %b% equ 2 (
  12.       echo 你输入的数字a=1,而且b=2) else (echo 你输入的数字a=1,但b不等于2)
  13. ) else (
  14.   if %b% equ 2 (
  15.       echo 你输入的数字a不等1,但b=2) else (echo 你输入的数字a不等于1,且b不等于2)
  16. )
  17. pause
复制代码
发表于 2009-11-13 21:24:03 | 显示全部楼层
  1. @echo off &setlocal enabledelayedexpansion
  2. set /p str=Please input random string:&set a=&set /a var=0&set /a num=0
  3. :loop
  4. for %%i in (%str%) do (
  5.     call set a=%%str:~!var!,1%%
  6.     set /a err=!errorlevel!
  7.     set /a var+=1
  8.     if "!a!"=="s" set /a num+=1
  9.     if !err! equ 0 goto :loop )
  10. if %num% neq 0 ( echo contain s!) else ( echo not contain )
  11. pause>nul
复制代码

1.2   同时判断两个数字变量a 和 b  是否 a=1 且 b=2
  1. @echo off&cls
  2. set /p a=please input a number
  3. set /p b=please input a number
  4. if "12"=="%a%%b%" (echo  a 和 b  是 a=1 且 b=2) else (echo a 和 b  不是 a=1 且 b=2)
  5. pause
复制代码

[ 本帖最后由 zgq0301 于 2009-11-13 21:35 编辑 ]
发表于 2010-1-20 16:28:24 | 显示全部楼层

本人新手只会用这种方法了额 ~~~

  1. @echo off
  2. set /p a=请输入
  3. echo %a%|find "s" >nul
  4. if "%errorlevel%"=="0" (echo 含有s) else echo 不含s
  5. pause >nul
复制代码
没有各位大虾的简洁额   - -b
发表于 2010-1-20 17:24:37 | 显示全部楼层

继续答题额~~~~~~~~

  1. @echo off
  2. set /p a=请输入a的值
  3. set /p b=请输入b的值
  4. if "%a%"=="1" (if "%b%"=="2" (echo right) else echo wrong) else echo wrong   
  5. pause >nul
复制代码
发表于 2010-1-23 14:29:55 | 显示全部楼层
呵呵。不潜水了,看看答案先。
发表于 2010-1-31 20:29:01 | 显示全部楼层
第一条题目,我想先用for逐个提取字符串里面的字符,然后用IF语句来判断下,但是貌似字符串要分开写,方法太笨拙!
没能力写,看看高手的答案

第2个题目简单,我新手,简单写个
@echo off
set /p a=请输入:
set /p b=请输入:
if "%a%"=="1" (goto zhe) else echo 变量a不等于1
:zhe
if "%b%"=="1" (echo a=1且b=1) else echo 变量b不等于1
pause>nul
发表于 2010-1-31 20:31:52 | 显示全部楼层
题目看错了,b=2,晕哈
发表于 2010-4-26 09:01:55 | 显示全部楼层
试了很久也没有成功因此请求高手!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 03:09 , Processed in 0.008994 second(s), 6 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表