批处理文件(bat)
简单的说,批处理的作用就是自动的连续执行多条命令 .编写bat处理文件可以使用记事本的方式:
常见批处理文件的命令:
echo 表示显示此命令后的字符
tiltle 设置窗口的标题。
echo off 表示在此语句后所有运行的命令都不显示命令行本身
color 设置窗体的字体颜色。
@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释) 或者%注释的内容%
%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串
批处理bat文件:可以一次执行多条命令的文件
为什么要学习什么bat文件
jar双击执行只是图形化界面的程序,对于控制台程序不起作用
对于控制台的程序的快速执行一般使用bat文件快速启动。
如何编写批处理bat文件?
步骤:创建一个自定义的文本文件,后缀名改为bat,把要执行的命令写入这个文件即可。
批处理问加你常用的命令
echo 想控制台输出制定的内容
echo off 该命令将会影藏该命令后面的所有的指令,只显示执行的结果。
@ 隐藏当前行的命令
title 改变当前控制台窗口的标题
color 改变制定控制台的背景色与前景色
%中间是注释的内容% 后面的内容表示bat文件中的注释内容,将不会再cmd窗口中现实,只是给编写者日后查看来用
pause 让当前命令台停留,知道执行press any key...
%1~%9 这表示给批处理文件传入参数的。这里的%1表示一个参数,一旦要传递参数,就必须在cmd下行
> run 传入的第一个参数
可以把这个Demo.java文件拷贝到一个文件夹中做下面的操作实验。
run.bat文件的编辑内容
javac -d . Demo1.java rem 说明一下这是前面没有看的javac的命令,这样编译的结果直接带有包结构
java it.cast.bat.Demo1 rem 运行编译好的.class文件
pause rem 这样可以是运行过的结果停留一会 直到按下 press any key
把编译好的具有包结构的clss文件夹 cn 打包成 test.zip压缩文件,然后删掉.java文件和才能文件夹(保护自己的源码).这个时候,可以回到到处dos下编写java文件并运行的情况
>set classpath = f: est est.zip; rem 设置classpath在本cmd命令窗口中有效,一旦退出,classpath将会恢复
>java it.cast.bat.Demo1
这个样子也能执行
下一种方法,是使用java命令的 =classpath参数,只设置本次执行java命令的时候有效
>java -classpath . est est.zip; it.cast.bat.Demo1 嗨嗨 提示一下哟 .表示当前目录 目录后面用了一一个分号; 这表示,在制定的文件夹test.zip中找不到的话,还会在当前的目录下 test中继续寻找
这样也能执行,于是便可以把上面的命令写到.bat文件中
于是现在的bat文件就变成了;
java -classpath . est est.zip; it.cast.bat.Demo1
pause
注意了上面的-classpath 参数不仅可以在.zip文件下面查找相关文件,也可以在.jar包中查找,但是不可以使用.rar文件
其实上面这是比较好的一种发布java文件的方法
Demo1.java的源码如下:
Package cn.cast.bat;
Class Demo1
{
Public static void main(String [] args)
{
System.out.println(“哈哈哈...”);
}
}
吧这个问价拷贝到一个文件夹下,在cmd中使用javac -d . Demo1.java打包产生一个cn为文件夹,然后我们就可以把cn这个文件夹打包成一个test.zip的压缩文件,然后,原来的.java文件和cn包文件夹就可以删掉了(来保护自己的源码).然后就是线面的bat文件:
Run.bat-------------------------------
@echo off
cls
%这是一种单行注释%
title %1 %这是要给参数1传值只能使用cmd运行 run 参数 即可%
color 74
echo 欢迎大家学习bat命令
java -classpath . est.zip; cn.cast.bat.Demo1
Pause
以后打包运行一个java文件都可以使用上面的方法,这个时候是更加的简单,如果你的文件是现在eclipse中编写好的这个时候,就有完整的包文件,直接这个.class的把文件考别出来然后编写上面的文件就可以了。值得尝试的是,上面的做法在一个没有安装java虚拟环境的机器上能不能使用。