「java运行批处理文件」Java批处理

博主:adminadmin 2023-01-13 19:39:08 493

本篇文章给大家谈谈java运行批处理文件,以及Java批处理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA执行BAT文件,请求高手帮助。。。。

我当时解决的办法是。

p.getOutputStream()

p.getErrorStream()

都不停地往外读取内容。

原因是这样的,bat命令输出的内容会输出到一块缓冲区内存中。

如果你不及时读取出来,当缓冲区内存满了以后,

bat命令会停止执行。

所以办法就是要把执行bat命令的输出内容读取出来,不能让缓冲区满。

java运行.bat语句

在window下bat批处理文件调用实现java方法。

代码如下:

@echo off

echo 正在加密,请稍后....

echo path:%~dp0

set base=%~dp0

set class=%base%\bin

set libs=%base%\lib

set class_path=%class%;%libs%\c3p0-0.9.1.2.jar;%libs%\mysql-connector-java-5.0.8-bin.jar;

java -classpath %class_path% com.test.Main

@pause

classes目录是java编译后的class目录

libs目录存放的所要使用到的jar

startNet.bat启动的bat文件

java编程 批处理

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.Stack;

public class CheckFilebatch {

private static final String LOG_FILE = "F:/CheckFilebatch.log"; //报错的信息写在这个文件里。

private static final String FILE_HOME = "F:/niceStore /"; //要操作的物理目录

public static void main(String[] args) {

try {

ArrayListString fileListInDB = new ArrayListString();

FileWriter fw = new FileWriter(LOG_FILE);

// TODO

// 取得DB连接,执行sql“SELECT DISTINCT FILEPATH FROM ARR-FILE”,得到一个ResultSet

// 从DB中取出文件信息,放入fileListInDB 中,

ResultSet rs = null;

while (rs.next()) {

String path = rs.getString("File_Column");

File f = new File(path);

if (!f.exists()) {

// 不合法的报出错误信息。

System.out.println("file not exists: " + path);

fw.write("file not exists: " + path + "\n");

} else {

// 合法的,转化为路径名的规范路径名字符串,加入到fileListInDB中

fileListInDB.add(f.getCanonicalPath());

}

}

rs.close();

//

fw.write("\n\n\n\n");

//下面开始遍历物理目录

File home = new File(FILE_HOME);

StackFile tmpStack = new StackFile();

tmpStack.add(home);

while (!tmpStack.isEmpty()) {

File tmp = tmpStack.pop();

File[] childs = tmp.listFiles();

for (int i = 0; i childs.length; i++) {

File child = childs[i];

if (child.isDirectory()) {

tmpStack.push(child);

} else {

if (fileListInDB.contains(child.getCanonicalPath())) {

fileListInDB.remove(child.getCanonicalPath());

} else {

// 删除文件。

child.delete();

// 这里的操作如果把它移动到另一个目录里,作为备份,更好些。

fw.write("delete file: " + child.getCanonicalPath());

}

}

}

}

// 这个程序只考虑文件,不考虑目录

fw.close();

} catch (SQLException e) {

e.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

Java如何调用可执行文件和批处理命令

有些第三方厂商如(ANT),也提供了调用windows下可执行程序的方法,但我们往往需要调用一些批处理命令。而java 却不提供。

这里,我采用一种变相的调用方法,使得Java 能调用批处理命令。如果您有更好的方法,希望您能告诉我。

前期准备[/B]

Quick Batch File (De)Compiler

将任何BAT、CMD批处理脚本编译为EXE文件!开始1. 运行exe 文件

Java JDK里已经提供了调用的方法,不在累赘,代码如下。

try {String command = "notepad";

Process child = Runtime.getRuntime().exec(command);

} catch (IOException e) {}

2. 运行 bat(批处理) 文件

在Google上搜索一下,找到Quick Batch File (De)Compiler,可以将任何BAT、CMD批处理脚本编译为EXE文件。使用了一下,果然可以。

Quick Batch File (De)Compiler使用非常简单:

Quickbfc 文件名.bat 文件名.exe(将批处理命令编译为可执行文件)

quickbfd 文件名.exe 文件名.bat(将可执行文件反编译为批处理命令)

然后,我们再按第一种方法通过Java 调用,即可。

Java如何调用可执行文件和批处理命令-JSP教程,Java技巧及代码

些第三

厂商

(ant)

提供

调用windows

执行程序

往往需要调用

些批处理命令

java

提供

我采用

种变相

调用

使

java

能调用批处理命令

希望您能告诉我

前期准备[/b]

quick

batch

file

(de)compiler

任何bat、cmd批处理脚本编译

exe文件

始1.

运行exe

文件

java

jdk

已经提供

调用

累赘

代码

try

{string

command

=

"notepad";

process

child

=

runtime.getruntime().exec(command);

}

catch

(ioexception

e)

{}

2.

运行

bat(批处理)

文件

google

搜索

quick

batch

file

(de)compiler

任何bat、cmd批处理脚本编译

exe文件

使用

quick

batch

file

(de)compiler使用非

简单:

quickbfc

文件名.bat

文件名.exe(

批处理命令编译

执行文件)

quickbfd

文件名.exe

文件名.bat(

执行文件反编译

批处理命令)

再按第

java

调用

怎么在java里打开bat文件

public class MyTest {

public static void mm(){

Runtime run= Runtime.getRuntime();

try

{

run.exec("D:/abc.bat");//添加程序路径

}catch(Exception e)

{

e.printStackTrace();

}

}

public static void main(String[] args) throws IOException {

Desktop.getDesktop().open(new File("d:/abc.bat"));

}

}

}

java运行批处理文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java批处理、java运行批处理文件的信息别忘了在本站进行查找喔。