第四节课:
告别繁琐命令,动手制作一个文件跳转系统
(最新更新~)
——————–
答案公布:
——————–
我们要做的是以下的效果:
- @echo off
- echo ———————————-
- echo DIY批处理系统
- echo ———————————-
- echo 作者:HEIKE-07
- ECHO 正在执行请稍候…..
- cd..
- cd..
复制代码
现在我们开始今天的课程!
童鞋们还记得上次课程最后提到了%1吗?
那么%1是什么?
先不说这个!我们先来看一个程序:
- #include<stdio.h>
- int main()
- {
- int a=”123″;
- scanf(“%d”,&a);
- printf(“%d”,a);
- return 0;
- }
复制代码
这样一个简单的程序相信大家都不难理解吧,程序的结果就是在屏幕上打印“123”,但是程序在运行的过程中,做了一件事情,那就是将123赋值给了a,也就是说a=123,有的同学可能会说,123不是打印出来了吗!
那么我们在写个程序:
- #include<stdio.h>
- int main()
- {
- int a=”123″;
- scanf(“%d”,&a);
- return 0;
- }
复制代码
我们将printf那句话删掉,现在我问问你们这段程序做了什么事情?
- 肖明:老师,程序什么都不会执行,什么都不会出现!
- 晓红:老师,虽然程序没有执行,但是他好像干了些什么,但是老师,我c语言不咋会呀!
- 志宏:其实,程序执行了,只是老师把printf这一行代码取消了,看起来像是没执行,但是程序却将123这个整数赋值给了a,所以不能说程序什么都没有执行!
- 小编:嗯,志宏说的对,志宏你是怎么会c语言的?
- 同学们:对呀,他是怎么会的!
- 志宏:我经常看书,在书上曾经有印象看到过这个类似的!
- 小编:嗯,志宏说的没错(这孩子,有前途啊!)
- 志宏:谢谢老师!
- 小编:嗯,你先请坐,我们回到这个问题,刚才志宏同学说明了这个程序的执行过程,那么在bat中也是适用的,我们来写个程序:
- @echo off
- type %1
复制代码
还是简短的程序,想必第一行不用老师给大家解释了吧!
说下第二行
type:是显示文本信息的东西,比如在安装系统的时候(正版系统),会让你输入序列号,序列号在盒子上,但是恰巧盒子被你扔掉了!你该怎么办?
这时候,你们可以用熟练的dos命令来解决这个问题:
插入系统光盘,用dir命令查看光盘文件目录,找到一个叫做sn.txt的文件,然后输入 type sn.txt即可显示出你的序列号,是不是很方便呢!
%1:这个%1是bat脚本编程的一个参数,他的目的就是取你输入的命令的参数,像上门那个程序如果我们输入2.bat 1.txt(为何还叫2.bat啊,就不能改个名字!)
我们会得到这样的效果:
这样即可实现功能,那么%1到底啥意思,相信大家已经猜的差不多了把!
%1就是将用户输入的参数调用到bat有%1的程序中,
2.bat 1.txt ==> type %1 ==> type 1.txt
那么我们就用这效果来做一个文件跳转系统把:
************
程序实现功能:
************
在任意地方输入相应的命令,即可跳转到相应的位置,例如我现在在d:盘下,像跳转到c:\123\234文件夹下,即输入:批处理文件名+参数。即可实现功能!
************
功能展示:
************
好了下面我们来开始写代码把!
*************************
我们分析下需要那些想法:
1.输入批处理+文件名即可跳转到相应目录!
2.可以随时跳转!
3.在标题栏内显示跳转到的路径!
4.写出提示正在跳转到相应的路径!
5.文字为绿色!
****************
代码实现
****************
好了,我们这些想到后就可以写代码了!
- @echo off
- title %1 HK-07
- color 0a
- echo 正在跳转跳转到目录%1下…
- 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
- 放在这里即可实现随时调用的 功能!
小编:这样大家明白了吗?
课后作业:自己动手做一个文件跳转系统,代码可以不一样,发帖将代码+运行结果一起发上来!
下课!
同学们在家!
老师再见!
heike07
下一节预告:bat编程基础:变量,输出,运算