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

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

下面的题目不难,方法有多种~ 看能不能一次性写出较精简的哦~


习题1.1   判断一个字符串里面是否含有 s 这个字符
       1.2   同时判断两个数字变量a 和 b  是否 a=1 且 b=2

写出判断的句子即可。

[ 本帖最后由 523066680 于 2009-7-27 22:03 编辑 ]
1

评分人数

我觉得这两道题目虽然做起来不难,但是很容易绕弯路~

没想到挂两天了没人做……

补个积分吧,中层下的会员,一次性做最简的代码或超乎意料地,给10分

TOP

细节不顾虑,就看你的方式。.

不管多简单,写下来吧. 除非你觉得鄙视简单的东西.

[ 本帖最后由 523066680 于 2009-7-29 17:00 编辑 ]

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

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

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

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

TOP

非常感谢楼上的回帖。

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

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


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

TOP

搜嘎嘚斯,前辈捧场了。

TOP

哪里,这题本来就是对基础问题的小测试。
当然有疑问也可以说哈,版主通常也很热情的,不过每次都解释的话对热情很消磨的

TOP

回复 32楼 的帖子

你真有耐心啊,说1是1说2是2.
如果是1.0 的话 set 也会出错吧?  批处理不支持小数啊。

TOP

36# Hello123World


下划线不应该省略因为 a=12 ,b=空的情况 或者 a=空 b=12

TOP

返回列表