(30)批处理文件.bat
批处理文件(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:\test\test.zip; rem 设置classpath在本cmd命令窗口中有效,一旦退出,classpath将会恢复
>java it.cast.bat.Demo1
这个样子也能执行
下一种方法,是使用java命令的 =classpath参数,只设置本次执行java命令的时候有效
>java -classpath .\test\test.zip; it.cast.bat.Demo1 嗨嗨 提示一下哟 .表示当前目录 目录后面用了一一个分号; 这表示,在制定的文件夹test.zip中找不到的话,还会在当前的目录下 test中继续寻找
这样也能执行,于是便可以把上面的命令写到.bat文件中
于是现在的bat文件就变成了;
java -classpath .\test\test.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
%这是一种单行注释%
传值只能使用cmd运行 run 参数 即可%
color 74
echo 欢迎大家学习bat命令
java -classpath .\test.zip; cn.cast.bat.Demo1
Pause
以后打包运行一个java文件都可以使用上面的方法,这个时候是更加的简单,如果你的文件是现在eclipse中编写好的这个时候,就有完整的包文件,直接这个.class的把文件考别出来然后编写上面的文件就可以了。值得尝试的是,上面的做法在一个没有安装java虚拟环境的机器上能不能使用。
(30)批处理文件.bat的更多相关文章
- int.TryParse非预期执行引发的思考 ASP.NET -- WebForm -- 给图片添加水印标记 Windows -- 使用批处理文件.bat删除旧文件
int.TryParse非预期执行引发的思考 问题出现 这天在写一个页面,想谨慎些就用了int.TryParse,结果出问题了. 代码如下: Copy int id = 1000; //Reque ...
- 使用批处理文件(*.bat)同时打多个cmd窗口
使用批处理文件(*.bat)同时打多个cmd窗口 最近在研究zookeeper,在本地建了几个目录,发现频繁的去各个目录启动zkServer.cmd十分繁琐,于是乎google,才有了下文: 使用批处 ...
- Windows -- 使用批处理文件.bat删除旧文件
Windows -- 写一个批处理文件.bat删除旧文件 1. 批处理文件 del_old_file.bat rem 删除D:\temp目录下7天前的文件 Forfiles /p D:\temp ...
- 批处理文件 bat 后台运行
当运行 批处理文件bat 时 , 会有一个黑窗口显示 , 对于不懂的人来说, 还是很吓人的; 有两种办法,可以让bat后台运行,不出现黑窗口 第一种解决办法(推荐) : 在你写的批处理文件,开头 ...
- Windows下使用批处理文件.bat删除旧文件
本文教大家写一个批处理文件.bat删除旧文件,供大家参考,具体内容如下 1. 批处理文件 del_old_file.bat rem 删除D:\temp目录下7天前的文件Forfiles /p E:\b ...
- 批处理文件(.bat)并行Arcpy脚本提高效率的思路
Arcpy提供数据处理的方便接口,但一个Arcpy脚本通常只运行于一个核上.现在电脑通常是多核乃至多处理器,如果能将任务分解为可同时进行的若干任务,便可通过并行充分利用电脑性能. 折腾了python并 ...
- Windows下批处理文件(.bat)的使用
cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建.编辑和查看.两者所用的命令行代码也是共用的,只是cmd文件中允许使用的命令要比bat文件多.cmd文件只 ...
- C# 执行批处理文件(*.bat)的方法代码
代码如下: static void Main(string[] args){ Process proc = null; try { st ...
- C#: 执行批处理文件(*.bat)的方法
static void Main(string[] args) { Process proc = null; try { proc = new Process(); proc.StartInfo.Fi ...
随机推荐
- 无限“递归”的python程序
如果一个函数直接或者间接调用了自己,那么就形成了递归(recursion),比如斐波那契数列的一个实现 def fib(n): if n <= 2: return 1 else: return ...
- 《Effective C#中文版:改善C#程序的50种方法》读书笔记
作者: suyan010203 来源: 博客园 发布时间: 2011-07-09 14:47 阅读: 8988 次 推荐: 4 原文链接 [收藏] 从去 ...
- Android仿微信朋友圈,全文收起功能,附源码
在众多的社交类软件中,朋友圈是必不可少的,可以与好友.同学等分享自己的日常和有意思的事情,在开发社交类App时,朋友圈发表的内容你不可能让他全部显示,全部显示的话用户体验度会非常不好,这时就要用到全文 ...
- webapi 发布接口报405错误(angularjs2.0)
参考链接:http://www.cnblogs.com/shenbin/p/5680976.html web访问接口报405错误,以前的jQuery访问方式访问接口没有问题. 但是换成angularj ...
- Robot Framework的安装
一.安装环境:Windows 64位操作系统64位2.7版本Python 二.简要步骤:1. 安装Python(RF是基于python 的,所以需要有python环境):2. 安装wxPython ( ...
- select中的文字垂直居中的问题
select文字在默认和边框高度增加时 是默认居中的.你要是不想居中的话可以用padding值调整.但是右侧的三角不会改变. select在高度减小时.字体是不会垂直居中的.无论你用什么他都不会垂直居 ...
- webqq的注册登记和聊天页面--运用jsonp跨域
简介: 我们知道,ajax用于数据交互,但它不能跨域,跨域是指从一个域名的网页去请求另一个域名的资源.比如从http://www.baidu.com/ 页面去请求 http://www.google. ...
- 在vim中,使用可视化拷贝(剪切)粘贴文本
1 定位光标到你想要开始剪切的位置 2 按v选择字符(按V是选择整行) 3 移动光标到你想要结束剪切的位置 4 按d是为了剪切(按y是为了拷贝) 5 移动光标到你想要粘贴的位置 6 按P是在光标之前 ...
- 全面理解java异常机制
在理想状态下,程序会按照我们预想的步骤一步一步的执行,但是即使你是大V,你也不可避免出错,所以java为我们提供了异常机制.本文将会从以下几个方面介绍java中的异常机制: 异常机制的层次结构 异常的 ...
- JAVA对特殊的字符串进行html编码
SourceURL:about:blank /** * Created by Administrator on 2016/9/22. */public class HtmlEncode { publi ...