(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 ...
随机推荐
- Lottie简介(翻译)
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6364634.html Lottie简介(翻译) 新的向本地ap ...
- [Direct2D1.1教程] Direct2D特效概览
转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 Direct2D是一个基于Direct3D的2D图形API,可以利用硬件加速特性来提供高性能高质量的2D渲染.但 ...
- Codeforces 708A Letters Cyclic Shift
A. Letters Cyclic Shift time limit per test:1 second memory limit per test:256 megabytes input:stand ...
- sql查询调优之where条件排序字段以及limit使用索引的奥秘
奇怪的慢sql 我们先来看2条sql 第一条: select * from acct_trans_log WHERE acct_id = 1000000000009000757 order b ...
- Python单元测试——深入理解unittest
单元测试的重要性就不多说了,可恶的是python中有太多的单元测试框架和工具,什么unittest, testtools, subunit, coverage, testrepository, nos ...
- 安卓TCP通信
tCPServer.java 服务器的两个socket都没有关闭:s,ss.两个都是一直开启,然后数据才有显示 class tcpServer { public static void main(St ...
- Dirty Flag 模式及其应用
之前在开发中就发现"dirty"是一种不错的解决方案:可以用来延缓计算或者避免不必要的计算.后来在想,这应该也算一种设计模式吧,于是搜索"Dirty设计模式", ...
- Top 10 Books For Advanced Level Java Developers
Java is one of the most popular programming language nowadays. There are plenty of books for beginne ...
- MongoDB【第二篇】集群搭建
第一步:准备 1.安装包 mongodb-linux-x86_64-rhel70-3.4.2.tgz 2. 架构: 本文为 1-primary.1-secondary.1-arbiter 的 mong ...
- 最近发现的.net core中的一些bugs
1.使用.net core的过程中发现TypeInfo.GetCustomAttributes()只能写在主线程中,否则如果该自定义特性存在于nuget中就会报错,貌似nuget中的dll仅在主线程使 ...