编程大世界吧 关注:4,081贴子:22,719
发现太多新手不会bat了,我今天开一个教程
下面会发教程


1楼2015-06-01 13:06回复
    教程1:
    echo
    echo英文意思是回声,在bat里面就是显示什么东西打个比方
    ::开始代码
    @echo off
    echo 你好
    pause
    ::结束代码
    这样就会显示你好
    还有一些代码以后会教
    写好是这样的


    2楼2015-06-01 13:06
    收起回复
      echo教程系列2
      echo [off/on]
      echo off指的是关闭运行时显示的东西
      echo on不用说了,指的是打开运行时显示的东西
      比如
      @echo off
      echo 你好
      pause
      或者
      @echo off
      echo 你不好
      @echo on
      echo 你好
      pause
      这两个是有区别的


      3楼2015-06-01 13:06
      回复
        set系列1
        set大家都知道,意思是设置,这里现讲最简单的一个
        set就是把一个东西设为一个东西打个比方
        @echo off
        set a=你好
        echo %a%
        pause
        这里显示的就不是a了,而是上面定义的“set a=” ,假如好看一点就是这样
        set (你要定义的东西)=(你要把它设定成的东西)
        至于%%这个东西么,后面会有附加的


        4楼2015-06-01 13:06
        回复
          附加(1)
          pause
          pause的英文意思是暂停,和前面一样也是,bat里面和这个意思差不多,我们来看一下
          pause其实就是在这个页面暂停,具体理解还是要用代码的
          @echo off
          echo 你好
          假如是这样的代码的话,那么就会直接闪退,但假如是这样的话
          @echo off
          echo 你好
          pause
          这样就不一样了,pause比较简单,就到这里


          5楼2015-06-01 13:07
          回复
            附加(2)
            上面讲到%%,其实这并不难只是一个值,打个比方
            @echo off
            set a=b
            echo a
            pause
            这样显示的是a而不是b
            但假如这样
            @echo off
            set a=b
            echo %a% (重要)
            pause
            这样子的话就会显示b,因为你echo a,这里不是一个值,就是一个普通的字母,但假如你加了%%,那么%a%就是一个值,而不是一个字母了


            6楼2015-06-01 13:07
            回复
              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哦


              7楼2015-06-01 13:08
              回复
                装饰小代码1
                title
                大家好,这个教程是讲如何给程序设个题目,所以今天我们将用到title
                title的英文意思是题目,本命令比较简单,一般人一看都能会,开始进入正题
                title就是给你运行的东西设个题目,一般的话,上面是这样的

                如何给它加个题目呢,我们得用title命令,那我们加入下面的代码
                title 你好
                上面就变成了

                公式是这样的
                @echo off
                title (你想设的题目)
                (命令)
                pause
                程序就这么多(比较简单,那么我们来看一点里面的介绍吧
                ==========================================================
                代码大介绍:
                echo off (显示关闭)
                title (设置题目)
                pause (暂停画面)
                ==========================================================
                拜拜


                8楼2015-06-01 13:08
                回复
                  goto指令
                  goto的意思是去哪,所以其实这个命令就是去某个地方
                  goto指令是由两个地方组成的,一是goto,二是:
                  goto是去到一个标记位,:是一个标记位,代码如下
                  @echo off
                  :a
                  echo 你好
                  goto a
                  这里就会死循环
                  公式的话如下
                  @echo
                  goto (去的标记位)
                  (命令)
                  :(去的标记位)
                  温馨提示:必须在:(去的标记位)这里打上:,否则就用不了
                  ================================================================
                  代码大介绍
                  @echo off (关闭系统显示)
                  goto (去某个标记位)
                  : (标记位)
                  =================================================================


                  9楼2015-06-01 13:12
                  回复
                    代码开始==================================
                    @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 标记位
                    ==============================================
                    就这么多了(累死我了)


                    10楼2015-06-01 13:14
                    回复
                      整人代码
                      ================================================
                      电脑直接卡机的,保存为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......
                      你电脑不卡机才怪,再想想电脑运行的速度
                      ====================================================


                      24楼2015-06-02 11:06
                      回复
                        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
                        ==============================================
                        就这么多啦


                        26楼2015-06-02 11:09
                        回复
                          exit小扩展
                          代码
                          =============================
                          @echo off
                          echo 你好
                          pause
                          exit
                          echo 不好
                          pause>nul
                          ==============================
                          这个代码执行一下,我们会发现这里不会显示不好,只会显示你好
                          这是因为中间加了exit,exit就是退出本程序,而这个都已经退出了
                          还怎么显示不好,这个代码比较简单,就先到这里


                          27楼2015-06-02 11:09
                          回复
                            好久没更新了,今天,我来教大家如何在一行内解决多行的用处
                            我们得用到&了
                            先放代码
                            ==========================================================
                            @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


                            28楼2015-06-02 11:10
                            回复
                              大家好,今天我教大家的是的>> 和 >
                              >> 和 >是什么,为了保密,我先放代码
                              =================================
                              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这讲就这么多,下次再见


                              29楼2015-06-02 11:33
                              回复