java中的批处理代码

java中的批处理代码,java,batch-file,Java,Batch File,我不想仅仅从java调用批处理文件,我希望代码是java的 到目前为止,我已经有了这一点,但我的批处理文件有很多代码,不接受它 public static void main(String[] args) { final String dosCommand = "cmd /c dir /s"; final String location = "C:\\WINDOWS"; try { final Process process = Runtime.getRun

我不想仅仅从java调用批处理文件,我希望代码是java的

到目前为止,我已经有了这一点,但我的批处理文件有很多代码,不接受它

public static void main(String[] args) { 
    final String dosCommand = "cmd /c dir /s";
    final String location = "C:\\WINDOWS";
    try {
      final Process process = Runtime.getRuntime().exec(dosCommand + " " + location);
      final InputStream in = process.getInputStream();
      int ch;
      while((ch = in.read()) != -1) {
        System.out.print((char)ch);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
}
我想添加到java类中的批处理代码示例。除非有人告诉我需要,否则我不会将@echo off添加到我的类中

@echo off

rundll32 wbemupgd, UpgradeRepository

NET USE Q: \\Somenetworkpath\ /PERSISTENT:NO
Q:
CD \DeskTop\Troubleshoot\
COPY subinacl.msi "C:\Documents and Settings\%USERNAME%\Desktop"
C:
MSIEXEC.EXE /i "\Documents and Settings\%USERNAME%\Desktop\subinacl.msi" /qn

DEL /Q "C:\Documents and Settings\%USERNAME%\Desktop\subinacl.msi"

C:
CD \Program Files\Windows Resource Kits\Tools\
SUBINACL /SUBKEYREG HKEY_LOCAL_MACHINE /GRANT=Administrators=F
SUBINACL /SUBKEYREG HKEY_CURRENT_USER /GRANT=Administrators=F
SUBINACL /SUBKEYREG HKEY_CLASSES_ROOT /GRANT=Administrators=F
SUBINACL /SUBDIRECTORIES %SystemDrive% /GRANT=Administrators=F
SUBINACL /SUBKEYREG HKEY_LOCAL_MACHINE /GRANT=System=F
SUBINACL /SUBKEYREG HKEY_CURRENT_USER /GRANT=System=F
SUBINACL /SUBKEYREG HKEY_CLASSES_ROOT /GRANT=System=F
SUBINACL /SUBDIRECTORIES %SystemDrive% /GRANT=System=F

我怀疑您没有正确地为java转义批处理代码中的特殊字符

被转义为
\”

'
被转义为
\'


\
被转义为
\

我想要的似乎不可能。结果只是调用了批处理文件。

当你说“不接受”时,你是什么意思?您的输出有点荒谬。您有在Java文件中嵌入批处理脚本的正当理由吗?在我看来,创建这样一个组合似乎是一个糟糕做法的例子。将它们分开将允许您在不重新编译Java类的情况下更改脚本。@如果可能的话,我只想拥有更少的文件,并且不知道用Java重新思考批处理文件的其他方法。重新编译java文件对我来说不是一个问题,它更倾向于防止修改。@nathaniel如果我复制并粘贴代码,我会得到很多错误,主要是语法错误,尽管它被引号括起来。例如,其中一个错误不喜欢使用“\”和其他语法错误。@jerhynsoen这些错误可能与实现最终目标的输出一样有用。你可能也应该发布你期望得到的东西。