使用java的“runtime.exec”我执行一个批处理文件。通过java本身创建的批处理文件。我的查询是在运行时创建的批处理文件在我的机器(XP)和 Windows Server 2008 R2 上执行良好。但是在 Windows Server 2003 上,批处理文件得到了顶饰,但它没有执行。但是如果我双击它执行的批处理文件。
Process process = runtime.exec("cmd /c start /b "+batchFile.getPath());
使用java的“runtime.exec”我执行一个批处理文件。通过java本身创建的批处理文件。我的查询是在运行时创建的批处理文件在我的机器(XP)和 Windows Server 2008 R2 上执行良好。但是在 Windows Server 2003 上,批处理文件得到了顶饰,但它没有执行。但是如果我双击它执行的批处理文件。
Process process = runtime.exec("cmd /c start /b "+batchFile.getPath());
cmd.exe
这可能是因为在 Windows Server 2003 上运行批处理所需的(缺少)管理员权限。
方法 1为运行批处理作业的用户帐户
授予cmd.exe
程序读取和执行权限。为此,请按照下列步骤操作:
cmd.exe
文件。Cmd.exe 文件位于该%windir%\System32
文件夹中。注意添加用户时,会自动授予用户读取和执行权限。7. 当系统提示您继续时,单击是。
方法 2
将文件的读取和执行权限授予cmd.exe
批处理组。这允许所有批处理进程运行命令处理器。为此,请按照下列步骤操作:
cmd.exe
文件。该cmd.exe
文件位于%windir%\System32
文件夹中。有关详细信息,请参阅以下 Microsoft 知识库文章: