java - 无法使用 java 类访问和运行批处理文件命令

标签 java batch-file cmd

我创建了一个java类来执行桌面上的批处理文件,以便批处理文件中的命令也将被执行。问题是,我不断收到错误:

The filename, directory name, or volume label syntax is incorrect. The filename, directory name, or volume label syntax is incorrect.

我已经检查了 .bat 名称和目录。它是正确的。当我输入 cmd/c start C:/Users/attsuap1/Desktop 时,Windows 资源管理器将打开桌面选项卡。但是,当我输入 cmd/c start C:/Users/attsuap1/Desktop/DraftBatchFile.bat 时,会出现错误。我的 DraftBatchFile.bat 位于我的桌面上。

这是我的java代码:

public class OpenDraftBatchFile{
public OpenDraftBatchFile() {
    super();
}

/**Main Method
 * @param args
 */
public static void main(String[] args) {
    //Get Runtime object
    Runtime runtime = Runtime.getRuntime();
    try {
        //Pass string in this format to open Batch file
        runtime.exec("cmd /c start C:/Users/attsuap1/Desktop/DraftBatchFile.bat");
    } catch (IOException e) {
        System.out.println(e);
    }
}

为什么目录正确却无法执行批处理文件?请有人帮助我。非常感谢。

这些是DraftBatchFile.bat中的代码

@echo 关闭 echo.>“桌面:\testing\draft.txt” @echo 将文本写入draft.txt> 桌面:\testing\draft.txt

当我通过运行java类执行DraftBatchFile.bat时,我希望在我创建的测试文件夹(在桌面中)中创建一个draft.txt文件。

最佳答案

不存在桌面:\

这样的东西

尝试这样的事情。

@echo off
echo . %userprofile%\Desktop\testing\dblank.txt
@echo Writing text to draft.txt > %userprofile%\Desktop\testing\dblank.txt

关于java - 无法使用 java 类访问和运行批处理文件命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47450543/

相关文章:

windows - 批处理文件 - 关闭由批处理文件进程打开的单独的 cmd 窗口

windows - 通过windows CMD执行perl脚本时出现SSHAuthenticationError

java - 通过hadoop在tomcat上运行jar

Java 7zip 压缩太大

Java二叉搜索树和哈希表

java - 如何暂停 Android 应用程序的自动滚动?

java - maven过滤在构建过程中替换多个 token ?

batch-file - 使用批处理脚本将每分钟的时间写入文本文件

java - 批处理文件显示无法找到或加载主类

python - Cmd Windows "python"命令有效,但 "python3"无效,尽管我的 python 版本是 3.6