[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
哪里,这题本来就是对基础问题的小测试。
当然有疑问也可以说哈,版主通常也很热情的,不过每次都解释的话对热情很消磨的

TOP

版主,要是出了答案加上讲解应该会让初学者更容易明白

TOP

搜嘎嘚斯,前辈捧场了。

TOP

针对第二题的:

也是比较另类的,不用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 编辑 ]
***共同提高***

TOP

学习了!谢谢各位高手了

TOP

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!

TOP

不会,一定会努力学习的

TOP

写到一半写不下去!
     看来还得加油!
        看几位写的顿时让我茅舍顿开!
                               谢......
我们觉得崖畔的鲜花很美,那是因为它们敢于踏出迈向天空的一步!

TOP

回复 13楼 的帖子

不客气。
也谢谢你和论坛各位版主,让大家在论坛学到很多。

TOP

非常感谢楼上的回帖。

(有认真想题的都是有一定等级的同学~ ,可见不回答的新手的态度……)

关于楼上说的也对。我想带空格的话 也可以 %a: =%,但也不必了。
因为对于其他情况,很多很多~  所以特使情况特殊对待了。


而判断是否s 的 也很怕 特殊字符的出现 比如后两种办法 字符串中有奇数个双引号时
可能出错。

TOP

凑个热闹,
  1. @echo off
  2. set /p aa=请输入字串:
  3. echo =======================
  4. ::第一种
  5. echo %aa% | find "s">nul && echo 存在s || echo 不存在s
  6. ::第二种
  7. if "%aa:s=%"=="%aa%" (echo 不存在s) else echo 存在s
  8. ::第三种
  9. for /f "tokens=1,2 delims=s" %%a in ("a%aa%a") do if "%%b"=="" (echo 不存在s) else echo 存在s
  10. set /p a=输入变量a:
  11. set /p b=输放变量b:
  12. echo ==========================
  13. echo 问题:验证是否a=1且b=2
  14. if %a% equ 1 (if %b% equ 2 (echo 成立) else echo 不成立) else echo 不成立
  15. pause
复制代码
if "%a%_%b%"=="1_2" (echo yes) else (echo no)
是个好思路,但如果输入a或b时前后不小心带入空格。就不行了,个人觉得用equ 来作数字判断会比较好,可能有点鸡蛋挑骨头。呵呵

[ 本帖最后由 inittab 于 2009-7-31 16:07 编辑 ]
2

评分人数

    • wxcute: 三种方法很难得。第三种方法思路也挺好。PB + 6
    • 523066680: 很好PB + 8

TOP

回复 8楼 的帖子

IF_EXIST兄的1.2代码,很简单,我就没有多想,直接两个IF连用。
赞一个,加个分。
(*^_^*)

TOP

确实是简单的,只是思想转个弯就会更简单,所以我从不忽视简单的东西。

9楼的,逐个提取总是最频繁的操作。如果走弯的思路,我觉得还可以用
for 以 s 为分隔符~  然后累加数字判断。 还可以判断出s字符的个数

        频繁的操作我就不做了,之前其他版块讨论过判断字符串长度的代码
可以搜搜。

TOP

看了楼上的两位大侠。。我终于明白了第一题原来是那么简单。。当初我所设想的是这样子 .  输入几个字符。 测试字符长度。 再应用FOR循环提取每一个字符 再用if  判断是否相等。。本来以为很简单的。。哎。没想到我最后还是没做出来。。不知楼主可否按我的思路写个批处理给参考一下。。 感谢~

TOP

首先,非常感谢keen的参与

其次,大部分人都懒得理这题目嘛。我是觉得题目的解仔细想会更简洁,
所以才拿出来,没想到这么少人愿意做。也罢,我直接贴个人结果了

没有判断大小写,也没有算入特殊情况。
  1. @echo off &title 包含s?
  2. set /p inp="输入字符串:"
  3. if "%inp:s=%"=="%inp%" (echo,不含有s) else (echo,含有s)
  4. pause
复制代码
  1. @echo off &title (a=1)且(b=2)?
  2. set /p a=请输入a的值:
  3. set /p b=请输入b的值:
  4. if "%a%_%b%"=="1_2" (echo yes) else (echo no)
  5. pause
复制代码

[ 本帖最后由 523066680 于 2009-7-29 21:22 编辑 ]
6

评分人数

TOP

返回列表