|  | 
 
| 本帖最后由 有阴也有阳 于 2017-12-27 17:05 编辑 
 转帖者的话:这个教程太基础了,适合我这样的0基础的小白,大神请飘过,不喜勿喷!
 
 从bat吧搬运而来,原帖地址:http://tieba.baidu.com/p/3528806494?pn=1
 
 教程1:
 echo
 echo英文意思是回声,在bat里面就是显示什么东西打个比方
 ::开始代码
 @echo off
 echo 你好
 pause
 ::结束代码
 这样就会显示你好
 还有一些代码以后会教
 写好是这样的
 
 
   
 
 echo教程系列2
 echo [off/on]
 echo off指的是关闭运行时显示的东西
 echo on不用说了,指的是打开运行时显示的东西
 比如
 @echo off
 echo 你好
 pause
 或者
 @echo off
 echo 你不好
 @echo on
 echo 你好
 pause
 这两个是有区别的
 
 
 set系列1
 set大家都知道,意思是设置,这里现讲最简单的一个
 set就是把一个东西设为一个东西打个比方
 @echo off
 set a=你好
 echo %a%
 pause
 这里显示的就不是a了,而是上面定义的“set a=” ,假如好看一点就是这样
 set (你要定义的东西)=(你要把它设定成的东西)
 至于%%这个东西么,后面会有附加的
 
 
 附加(1)
 pause
 pause的英文意思是暂停,和前面一样也是,bat里面和这个意思差不多,我们来看一下
 pause其实就是在这个页面暂停,具体理解还是要用代码的
 @echo off
 echo 你好
 假如是这样的代码的话,那么就会直接闪退,但假如是这样的话
 @echo off
 echo 你好
 pause
 这样就不一样了,pause比较简单,就到这里
 
 
 附加(2)
 上面讲到%%,其实这并不难只是一个值,打个比方
 @echo off
 set a=b
 echo a
 pause
 这样显示的是a而不是b
 但假如这样
 @echo off
 set a=b
 echo %a% (重要)
 pause
 这样子的话就会显示b,因为你echo a,这里不是一个值,就是一个普通的字母,但假如你加了%%,那么%a%就是一个值,而不是一个字母了
 
 
 set系列2
 开始继续讲set,上面讲道set把一个字母变成一个值,但是自己不能选择,所以这次我们将一下set的小变形——set /p ,其实这也不难,只要解释一下你就全懂了set /p这里你可以自己控制这个值,还是用代码解释吧
 @echo off
 set /p a=请写你要替换的值 (温馨提示:这里不用改)
 echo %a%
 pause
 这里就可以写你要的值,比如你想把值设为b,那么你在显示“请写你要替换的值”这里后面写下b,下面就会显示b,假如还不懂,请看下公式
 公式是这样的
 @echo off
 set /p (你要定义的东西)=(你要人别人看到的东西
 echo %(你定义的东西)%
 pause
 但我要提示一下,下面不一定必须用echo,也可用其他东西
 而=后面是显示的东西,让被人定义,而不是你自己定义的东西
 还有一定要在set 后面加/p哦
 
 
 装饰小代码1
 title
 大家好,这个教程是讲如何给程序设个题目,所以今天我们将用到title
 title的英文意思是题目,本命令比较简单,一般人一看都能会,开始进入正题
 title就是给你运行的东西设个题目,一般的话,CMD窗口上面是这样的:
 
   如何给它加个题目呢,我们得用title命令,那我们加入下面的代码
 title 你好
 CMD窗口上面就变成了:
 
   公式是这样的
 @echo off
 title (你想设的题目)
 (命令)
 pause
 程序就这么多(比较简单,那么我们来看一点里面的介绍吧
 ==========================================================
 代码大介绍:
 echo off (显示关闭)
 title (设置题目)
 pause (暂停画面)
 ==========================================================
 拜拜
 
 
 goto指令
 goto的意思是去哪,所以其实这个命令就是去某个地方
 goto指令是由两个地方组成的,一是goto,二是:
 goto是去到一个标记位,:是一个标记位,代码如下
 @echo off
 :a
 echo 你好
 goto a
 这里就会死循环
 公式的话如下
 @echo
 goto (去的标记位)
 (命令)
 :(去的标记位)
 温馨提示:必须在:(去的标记位)这里打上:,否则就用不了
 ================================================================
 代码大介绍
 @echo off (关闭系统显示)
 goto (去某个标记位)
 : (标记位)
 =================================================================
 完
 
 
 lesson 8
 代码开始==================================
 @echo off
 :b
 set /a rd=%random%%%2
 if %rd% lss 1 goto b
 if %rd%==1 goto a
 :a
 set /a a=1+1
 echo %a%
 echo 按任意键退出
 pause>nul
 exit
 代码结束===================================
 新代码
 set /a =====================================
 set /a 其实就是个计算机,我们用set /p或直接用set比如
 @echo off
 set a=1+1
 echo %a%
 pause
 他这里显示的是1+1而不是2,我们用set /a的话
 @echo off
 set /a a=1+1
 echo %a%
 pause
 这里显示的就是2了
 ===========================================
 random随机数
 随机数就得用random了
 我们看一下最简单的代码
 @echo off
 set /a rd=%random%%%11
 eco %rd%
 pause
 它就会显示10以内的数了,random%%%后面这个,本人直接理解成最大数+1了,这样更好理解
 ============================================
 大于小于等于——小于
 这里出现了 lss这个词,其实lss就是less,less就是小于的意思
 我们在代码里写的是 if lss 1 goto b,其实这里是指小于1的话就回到b标记位(if后面会讲)
 lss一般都会和if在一起
 ============================================
 判断if
 if的意思大家应该都懂,是假如的意思,if指令其实还有一个好朋友——else,但我们这次先不讲(我的核心文件不知道怎么了,正在修复)我们在课文里是这样的
 if %rd% lss 1 goto b
 if %rd%==1 goto a
 我们得稍微再把random给加进去(否则很难懂)
 :b
 set /a rd=%random%%%2
 if %rd% lss 1 goto b
 if %rd%==1 goto a
 我来讲一下,随机数上面讲了,set也将了,那么我们直接看这里
 :b
 if %rd% lss 1 goto b
 if %rd%==1 goto a
 这里的意思联系上文——set /a rd=%random%%%2
 可以知道 rd的值就是随机的那个数,那么假如随机数小于1我们会到b标记位,假如随机数等于1去a标记位
 :a
 set /a a=1+1
 echo %a%
 echo 按任意键退出
 pause>nul
 exit
 所以if就是这么用的,假如什么是什么做什么,公式
 @echo off
 if (判断的东西) (怎么了) (干什么)
 pause
 还有if是一种比较开放的程序,没有太大的限制,所以搞创新记得用上它
 ============================================
 任意键继续pause>nul
 pause>nul就是可以按任意键继续,这个程序一般是让别人看见东西,然后再显示,一般和cls在一起,代码公式如下
 @echo off
 (命令)
 pause>nul
 (命令)
 pause
 就这么多,比较简单
 =============================================
 代码复习
 echo 显示
 @echo off 关闭系统显示(@其实也是一种东西,我们后面会讲
 pause 暂停页面
 goto 去标记位
 :a 标记位
 ==============================================
 就这么多了(累死我了)
 
 
 整人代码
 ================================================
 电脑直接卡机的,保存为zr.bat即可
 @echo off
 :a
 cd C:\Users\Lenono\desktop\
 start zr.bat
 goto a
 =================================================
 计算机的速度
 =================================================
 发现有新代码,强迫症——必须立刻教
 =================================================
 start英文意思是开始的意思,在这的意思是启动,就是启动一个文件,代码解释
 @echo off
 start 1.txt
 pause
 这就是打开1.txt,我们再来看一下上面的代码
 start zr.bat
 就是打开zr.bat
 公式
 @echo off
 start (文件)
 pause
 ===================================================
 cd这个命令我觉得很奇怪——没有cd这个词(肯能我没学过)
 不管了,我们来吧
 假如你在桌面放一个XXX.bat在这那里面是cd 你好(文件夹没扩展名)然后你就到了你好这个文件夹,但是你想出来怎么办呢?我们用绝对值,比如说去桌面(我是win8肯能不一样)
 @echo off
 cd C:\Users\Lenono\Desktop\
 pause
 你就到了桌面,其实假如想清楚一点可以不用@echo off,这样
 cd C:\Users\Lenono\Desktop\
 pause
 (其实不加@echo off我就不习惯)
 cd 就是这么的容易
 ===================================================
 整人代码解释
 永远打开zr.bat,而且是两倍两倍的成——1变2,2变4,4变8,8变16......
 你电脑不卡机才怪,再想想电脑运行的速度
 ====================================================
 
 
 代码开始=================================================吓人代码
 @echo off
 @title 史上最坑爹的东西
 echo 已帮你下载Windows更新文件,按任意键可以退出
 pause>nul
 cls
 pause>nul
 cls
 echo 哈哈,你上当了,你完了,你中了病毒,哈哈哈,你不行打开一个网页给你看看
 pause>nul
 start http://www.baidu.com
 cls
 shutdown -s -t 10000
 :z
 cls
 set /p pass=相信了吧,可是我还没玩完呢,我要给你搞个关机病毒,10000秒后关机,只有输入密码才行(密码提示:密码其实就是:密码)
 if %pass%==密码 goto ng
 :error
 cls
 echo 错了错了,都说了密码是 密码 了,而且还剩几分钟呀,按任意键重新来
 pause>nul
 goto z
 :ng
 shutdown -a
 cls
 echo 嘻嘻,我还没有厉害到做病毒呢,只是跟你玩玩,拜拜
 pause
 代码结束=================================================
 代码大介绍================================================
 新词:
 shutdown
 shutdown是一个关机指令(当然也有别的),我们在教程里看到的是‘
 shutdown -s -t 10000,这里是10000秒后关机,我们来看一下他后面的两个
 -s 的意思就是关机,但是我们为什么在电脑里运行的时候是166分钟后关机呢,因为后面还有-t
 -t 是拖延时间(只在shutdown这里才可以用),而后面跟的是秒数
 那么这条指令是不是感觉弱爆了呀,意思不就是10000秒后关机
 shutdown -a
 shutdown -a是什么,其实假如你学了一下那也是弱爆了,shutdown 只是为后面提供的(并不是说有都是)有点想你吃饭要筷子,但那不是重要的东西,而shutdown在这就是筷子,所以搞清楚后面的才是最重要的
 -a 其实是取消关机程序,一般是单独的(一般不会过一会再取消),不过和上面一样,他也可以和-t在一起,但本人不推荐
 全部说完了,该放公式了
 @echo off
 shutdown -[a\t\s] (后面还有其他的)
 pause
 ===================================================
 start的奇怪 变形,有没有发现我这里打开来的不是一个浏览器而是一个网站——http://www.baidu.com,其实这个变形是地球人的都能看懂,start 不单单是打开文件还可以打开网站
 公式
 @echo off
 start 网址
 pause
 说道start我突然想起了一个东西,很多人都不能打开那个文件(加了路径的),所以大家暂时先用cd代替,我先研究一下
 =====================================================
 cls
 cls其实就是个清屏指令,比如画面太乱就可以用它记得不要这样哦
 @echo off
 echo 你好
 cls
 pasue
 这样你一说就会被清掉,公式
 @echo off
 (命令)
 cls
 pause
 ======================================================
 旧词复习
 set 设置
 title 题目
 if 判断
 goto 去某个标记位
 =======================================================
 结束
 
 
 复习小作业
 =================================================
 大家用上面教过的命令,写一个计算机(可以不支持小数)
 提示:用set /a
 =================================================
 
 
 for 1
 大家好,好久没更新了,今天我们来学习for
 for 是一个循环,其实就是一个有限循环,我们用goto 做无限循环,但是他还做不到有限循环,所以今天我来给大家教大家有限循环——for
 先上代码
 =======================================代码上来
 @echo off
 for /l %%a in (1,1,3) do echo %%a
 pause>nul
 ========================================
 我们看到的结果是1 2 3
 为什么呢
 我们看看这个代码的结构吧
 =======================================代码结构
 前面的for /l 不用说了,就是基础basic,那 %%a in (1,1,3) do echo %%a
 这是什么什么意思呢???
 我们先看看 %%a
 这里其实就是定义a,但是切记 是%%a不是%a%
 我们再看看 in
 其实没什么就是一个basic
 我们看看(1,1,3)这里
 (1,1,3)←最后一个数
 ↑ ↑
 ↑ 每次加多少
 开始
 好了
 主要的部分做完了
 我们来看看do
 这里其实是做什么,你要循环没动作这怎么可以呢???
 所以我们就echo %%a 就是显示a的值
 但是有些人说 一行不够,我该怎么办
 别着急
 你可以用 () 这个其实在很多地方都可以
 就是这样
 %%a in (1,1,3) do (
 内容
 )
 这样子
 =============================================公式
 公式
 @echo off
 for /l %%(一个字母) in (开始的数,每次加几,最后的数) do 东西
 pause
 ==============================================
 就这么多啦
 
 
 好久没有更新了,我今天给大家带来 大于小于等于 的完整版
 我们前面应该也讲过吧,但是我们还是复习一下,所以我们这次全讲了
 ========================================================
 小于——lss
 ========================================================
 小于是什么呢
 我们数学里面的是>
 可我们在编程里面是用>是不可以的
 我们得用3个字母lss
 先简介一下,我们先看代码
 -------------------------------------------------------------------------------------------
 @echo off
 set a=0
 if %a% lss 2 echo 小于&pause&exit
 echo 大于
 pause
 exit
 ----------------------------------------------------------------------------------------------
 这个代码包括了一个我们没学的东西,但是我们今天就只学lss
 回到正题
 上面的代码是什么
 我来翻译一下
 -------------------------------------------------------------------------------------------------
 系统显示关闭
 把a设为0
 假如a 小于(重要)2 输出小于,暂停,退出
 不是的话
 输出大于
 暂停
 退出
 ----------------------------------------------------------------------------------------------------
 大家应该可以理解吧,那么我们的lss其实就是编程里的小于号
 下期再看 大于小于等于家族 的第二个人——equ
 ===============================================================
 
 
 exit小扩展
 代码
 =============================
 @echo off
 echo 你好
 pause
 exit
 echo 不好
 pause>nul
 ==============================
 这个代码执行一下,我们会发现这里不会显示不好,只会显示你好
 这是因为中间加了exit,exit就是退出本程序,而这个都已经退出了
 还怎么显示不好,这个代码比较简单,就先到这里
 
 
 好久没更新了,今天,我来教大家如何在一行内解决多行的用处
 我们得用到&了
 先放代码
 ==========================================================
 @echo off&echo 神不神奇?&pause>nul&exit
 ==========================================================
 代码很短是不是,我们现在把代码的&去掉,换成空行,我们得到了这个代码
 ==========================================================
 @echo off
 echo 神不神奇
 pause>nul
 exit
 ===========================================================
 这个代码的意思大家都懂
 显示神不神奇, 然后再按一下就退出
 但是当我们运行一开始的代码的时候,也可以实现,这是为什么呢???
 原来&是可以继续运行的意思
 翻译成中文就是 然后运行
 也就是说可以在一行里搞很多东西,但是实际用处是什么呢???我来给大家
 看一个代码
 ===========================================================
 for /l %%a in (1,1,10) do echo %%a >%%a.txt&echo 加载成功&pause>nul&exit
 ===========================================================
 这个代码就不用写do ()之类的,而且do很容易系统运行错误之类的,这个一般
 不会
 ============================================================
 今天就讲到这,&的更多用处等你自己探索
 88
 
 
 大家好,今天我教大家的是的>> 和 >
 >> 和 >是什么,为了保密,我先放代码
 =================================
 echo a >a.txt
 =================================
 看看是不是做了一个a.txt,打开来看看
 是不是了一个a在里面
 好了,就是说,>是可以生成一个东西的
 他可以把前面要显示的东西放到一个文件里面
 但是,我们想在第一行输入a 第二行输入b
 第三行输入c呢,来先试试
 ==================================
 echo a >a.txt
 echo b >a.txt
 echo c >a.txt
 ===================================
 来看看,发现生成的a.txt里面是c而不是a b c
 原来>只能生成,并不能添加
 那这个呢
 ===================================
 echo a >a.txt
 echo b >>a.txt
 echo c >>a.txt
 发现,这个就可以了
 原来 >>是添加内容,不能生成,而>是生成
 还有,注意一点,>会覆盖原本的文件,就是
 比如你有一个a.txt里面是123,你再
 echo a >a.txt
 他就是a了
 不会出错的,ok这讲就这么多,下次再见
 
 
 大家好,今天我教大家的是的>> 和 >
 >> 和 >是什么,为了保密,我先放代码
 =================================
 echo a >a.txt
 =================================
 看看是不是做了一个a.txt,打开来看看
 是不是了一个a在里面
 好了,就是说,>是可以生成一个东西的
 他可以把前面要显示的东西放到一个文件里面
 但是,我们想在第一行输入a 第二行输入b
 第三行输入c呢,来先试试
 ==================================
 echo a >a.txt
 echo b >a.txt
 echo c >a.txt
 ===================================
 来看看,发现生成的a.txt里面是c而不是a b c
 原来>只能生成,并不能添加
 那这个呢
 ===================================
 echo a >a.txt
 echo b >>a.txt
 echo c >>a.txt
 发现,这个就可以了
 原来 >>是添加内容,不能生成,而>是生成
 还有,注意一点,>会覆盖原本的文件,就是
 比如你有一个a.txt里面是123,你再
 echo a >a.txt
 他就是a了
 不会出错的,ok这讲就这么多,下次再见
 
 
 前面似乎漏了很多,那么我们来看看if 的更多吧,先上代码
 ================================================
 @echo off
 set /a a=%random%%%3
 if %a%==1 (
 echo 1
 )else if %a%==2 (
 echo 2
 )else(
 echo 3
 )
 =================================================
 第一个是random,也就是从3里面随机一个数
 第二个是判断 假如是1就显示1,假如是2就显
 示2,其他的话就显示3(也没可能了)
 =================================================
 if 大家都知道判断,但是当我这个判断还没搞完,我想接着判断
 怎么办呢?
 那么就用else if了
 else if 中文就是 其他判断 那么继续判断了
 公式
 if 条件 (
 XXX
 )else if 条件(
 XXX
 )
 那么我最后只有一种可能了 ,我不想再写那么多,我们就可以用else
 其实else可以是指其他,就是在上面判断(当然只是这一个判断节)
 没有的那些的条件就怎么样
 就是这样的
 公式
 if 条件 (
 XXX
 )else(
 XXX
 )
 ========================================================
 好了,我今天先讲这么多,但是记住if还有比这更好的东西
 
 
 
 | 
 评分
查看全部评分
 |