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

[其他] 求助批处理set命令的2个语句的解释及答案?

小弟新来的,看不懂,正在学,谁给解释下?有些会,有些不会,比如下面这2个,没看懂!!

set/a a=55^<^<5该命令的结果是?
set/a "leap=!(2012%4)^!(2012%100)|!(2012%400)"该命令的结果是?

本帖最后由 CrLf 于 2011-11-29 20:10 编辑

本贴标题修改后已基本符合版规,故收回原警告贴。

TOP

第一个:55转换成二进制后,左移5位,^在这里是转义符 << 是左移的意思
左移5位相当于乘以2的5次方

第二个代码:判断2012年是否闰年——只适用于在cmd窗口直接执行命令,如果写入bat,要将其中的%换成%%
2012%100 这是拿2012除以100后取余数,前面加个!,就是对余数进行运算,如果余数非0,就改成0,如果余数为0,就改成1
bat代码可参考:
  1. @echo off
  2. set/p year=请输入年份:
  3. set/a num=!(year%%4)^&!(!(year%%100))^|!(year%%400)
  4. if %num% equ 0 (echo 平年) else (echo 闰年)
  5. pause
复制代码
1

评分人数

    • jellyhk: 很好!不过没懂!技术 + 1

TOP

谢谢小胖

TOP

我觉得批处理 运算 很强。。 但是用的不多。。

TOP

返回列表