您的位置:首页 > 其它

一点点bat 批处理文件 总结

2015-08-13 12:01 405 查看
最近要写个bat。小白开始。

记录下要点。很多来自bat贴吧分享。点击链接

1.echo

echo英文意思是回声,在bat里面就是显示什么东西打个比方

::是注释,C里面的 // /**/

@echo off
echo 你好
pause
::结束代码



2.echo [off/on]

echo off指的是关闭运行时显示的东西

echo on不用说了,指的是打开运行时显示的东西

echo off 下的 “你好”直接显示

echo on 下的 “hello” 和 注释 显示运行时的东西,如路径信息。

@echo off
echo 你好
@echo on
echo hello
pause::是为了让程序运行暂停下,否则太快,无法看到现象




@echo off
echo 你好
@echo on
echo hello
@echo off
pause::是为了让程序运行暂停下,否则太快,无法看到现象




简单的不上图了。来自bat吧的@编程我可是第一

-------------------------------------------------------------------------------------

set大家都知道,意思是设置,这里现讲最简单的一个

set就是把一个东西设为一个东西打个比方

@echo off

set a=你好

echo %a%

pause

这里显示的就不是a了,而是上面定义的“set a=” ,假如好看一点就是这样

set (你要定义的东西)=(你要把它设定成的东西)

至于%%这个东西么,后面会有附加的

---------------------------------------------------------------------

pause

pause的英文意思是暂停,和前面一样也是,bat里面和这个意思差不多,我们来看一下

pause其实就是在这个页面暂停,具体理解还是要用代码的

@echo off

echo 你好

假如是这样的代码的话,那么就会直接闪退,但假如是这样的话

@echo off

echo 你好

pause

这样就不一样了,pause比较简单,就到这里

---------------------------------------------------------------------------

上面讲到%%,其实这并不难只是一个值,打个比方

@echo off

set a=b

echo a

pause

这样显示的是a而不是b

但假如这样

@echo off

set a=b

echo %a% (重要)

pause

这样子的话就会显示b,因为你echo a,这里不是一个值,就是一个普通的字母,但假如你加了%%,那么%a%就是一个值,而不是一个字母了

-------------------------------------------------------------------------

开始继续讲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就是给你运行的东西设个题目,一般的话,上面是这样的



如何给它加个题目呢,我们得用title命令,那我们加入下面的代码

title 你好

上面就变成了



公式是这样的

@echo off

title (你想设的题目)

(命令)

pause

程序就这么多(比较简单,那么我们来看一点里面的介绍吧

==========================================================

代码大介绍:

echo off (显示关闭)

title (设置题目)

pause (暂停画面)

==========================================================

----------------------------------------------------------------------------------------------------------------------------------------------------

goto指令

goto的意思是去哪,所以其实这个命令就是去某个地方

goto指令是由两个地方组成的,一是goto,二是:

goto是去到一个标记位,:是一个标记位,代码如下

@echo off

:a

echo 你好

goto a

这里就会死循环

公式的话如下

@echo

goto (去的标记位)

(命令)

:(去的标记位)

温馨提示:必须在:(去的标记位)这里打上:,否则就用不了

================================================================

代码大介绍

@echo off (关闭系统显示)

goto (去某个标记位)

: (标记位)

=================================================================

----------------------------------------------------------------------------------------------------------------------------------------------------

代码开始==================================

@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 去某个标记位

=======================================================

结束

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

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就是退出本程序,而这个都已经退出了

还怎么显示不好,这个代码比较简单,就先到这里

----------------------------------------------------------------------------------------------------------------------------------------------------
http://tieba.baidu.com/p/3528806494?see_lz=1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: