Welcome To Heike07's Blog.

欢迎来到Heike07官方博客

[Shell] [BAT脚本语言速学]第四节课:告别繁琐命令,动手制作一个文件跳转系统(最新更新~)

第四节课
告别繁琐命令,动手制作一个文件跳转系统

最新更新~

      上课之前公布下第二节课:echo命令给大家留得课后做作业答案,还记得吗,要求做一个diy-bat系统,其实就是用echo命令自己写一个属于自己的标头,看看大家完成的还算不错,有的私聊给我发了答案,有的在帖子上发的,我认为大家不要那么拘束,既然是学习就要把想法展现出来,让更多的人认可你的想法,好了,不多说,公布下正确答案:
——————–
答案公布:
——————–
我们要做的是以下的效果:

《[Shell] [BAT脚本语言速学]第四节课:告别繁琐命令,动手制作一个文件跳转系统(最新更新~)》

  1. @echo off
  2. echo ———————————-
  3. echo            DIY批处理系统
  4. echo ———————————-
  5. echo                     作者:HEIKE-07
  6. ECHO 正在执行请稍候…..
  7. cd..
  8. cd..

复制代码

这样简简单单的几行代码即可实现上图的功能!
现在我们开始今天的课程!
童鞋们还记得上次课程最后提到了%1吗?
那么%1是什么?
先不说这个!我们先来看一个程序:

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int a=”123″;
  5. scanf(“%d”,&a);
  6. printf(“%d”,a);
  7. return 0;
  8. }

复制代码

这样一个简单的程序相信大家都不难理解吧,程序的结果就是在屏幕上打印“123”,但是程序在运行的过程中,做了一件事情,那就是将123赋值给了a,也就是说a=123,有的同学可能会说,123不是打印出来了吗!
那么我们在写个程序:

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int a=”123″;
  5. scanf(“%d”,&a);
  6. return 0;
  7. }

复制代码

我们将printf那句话删掉,现在我问问你们这段程序做了什么事情?

  • 肖明:老师,程序什么都不会执行,什么都不会出现!
  • 晓红:老师,虽然程序没有执行,但是他好像干了些什么,但是老师,我c语言不咋会呀!
  • 志宏:其实,程序执行了,只是老师把printf这一行代码取消了,看起来像是没执行,但是程序却将123这个整数赋值给了a,所以不能说程序什么都没有执行!
  • 小编:嗯,志宏说的对,志宏你是怎么会c语言的?
  • 同学们:对呀,他是怎么会的!
  • 志宏:我经常看书,在书上曾经有印象看到过这个类似的!
  • 小编:嗯,志宏说的没错(这孩子,有前途啊!)
  • 志宏:谢谢老师!
  • 小编:嗯,你先请坐,我们回到这个问题,刚才志宏同学说明了这个程序的执行过程,那么在bat中也是适用的,我们来写个程序:


  1. @echo off
  2. type %1

复制代码

还是简短的程序,想必第一行不用老师给大家解释了吧!
说下第二行
type:是显示文本信息的东西,比如在安装系统的时候(正版系统),会让你输入序列号,序列号在盒子上,但是恰巧盒子被你扔掉了!你该怎么办?
这时候,你们可以用熟练的dos命令来解决这个问题:
插入系统光盘,用dir命令查看光盘文件目录,找到一个叫做sn.txt的文件,然后输入 type  sn.txt即可显示出你的序列号,是不是很方便呢!

%1:这个%1是bat脚本编程的一个参数,他的目的就是取你输入的命令的参数,像上门那个程序如果我们输入2.bat 1.txt(为何还叫2.bat啊,就不能改个名字!)《[Shell] [BAT脚本语言速学]第四节课:告别繁琐命令,动手制作一个文件跳转系统(最新更新~)》
我们会得到这样的效果:

这样即可实现功能,那么%1到底啥意思,相信大家已经猜的差不多了把!
%1就是将用户输入的参数调用到bat有%1的程序中,

   2.bat 1.txt ==> type %1  ==>  type 1.txt
那么我们就用这效果来做一个文件跳转系统把:
************
程序实现功能:
************
在任意地方输入相应的命令,即可跳转到相应的位置,例如我现在在d:盘下,像跳转到c:\123\234文件夹下,即输入:批处理文件名+参数。即可实现功能!
************
功能展示:
************

好了下面我们来开始写代码把!
*************************
我们分析下需要那些想法:
1.输入批处理+文件名即可跳转到相应目录!
2.可以随时跳转!
3.在标题栏内显示跳转到的路径!
4.写出提示正在跳转到相应的路径!
5.文字为绿色!
****************
代码实现
****************
好了,我们这些想到后就可以写代码了!

  1. @echo off
  2. title %1   HK-07
  3. color 0a
  4. echo 正在跳转跳转到目录%1下…
  5. cd/d %1

复制代码

代码写完了!
我们一行行来分析
**************************************

@echo off                                   这个不用多说了!
title %1   HK-07                             title是标题的的意思,可以通过这样自定义标题
color 0a                                      color是颜色的意思, 可以通过此修改颜色
echo 正在跳转跳转到目录%1下…    实现提示
cd/d %1
                           实现功能 %1为用户输入的路径

程序执行方法:
***************
输入open 为批处理的名字,可以省略.bat,open 参数 后面加上参数就是路径,将路径
的值给%1,执行cd/d %1可以实现跳转!

注意:还有个问题!如何实现随时敲命令可以用!
这里我们用到了path环境变量:
两种方法:首先我们先看下我们的环境变量
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;E:\Program Files\MinGW\bin;
这个就是我们的环境变量,(有些人可能不同!)

  • 方法一:添加环境变量:
  • 我们将放置bat的文件夹设为环境变量,即可例如在c:dos文件夹下,在path环境变量中加上c:\dos;即可!
  • 方法二:转移文件位置:
  • 通过看环境变量我们可以得到这个参数
  • %SystemRoot%\system32; 这个参数对应的就是c盘的windows 下目录下的system32文件夹,将写好的open.bat
  • 放在这里即可实现随时调用的 功能!


小编:这样大家明白了吗?
课后作业:自己动手做一个文件跳转系统,代码可以不一样,发帖将代码+运行结果一起发上来!


下课!
同学们在家!
老师再见!

《[Shell] [BAT脚本语言速学]第四节课:告别繁琐命令,动手制作一个文件跳转系统(最新更新~)》
heike07

————————————————-

下一节预告:bat编程基础:变量,输出,运算

点赞