【问题标题】:Java Run batch file issue on windows server 2003 versus windows server 2008Windows Server 2003 与 Windows Server 2008 上的 Java 运行批处理文件问题
【发布时间】:2012-04-05 04:59:01
【问题描述】:

使用 java 的“runtime.exec”我执行一个批处理文件。通过 java 本身创建的批处理文件。 我的查询是在运行时创建的批处理文件在我的机器(XP)和 Windows Server 2008 R2 上执行良好。 但是在 Windows Server 2003 上,批处理文件得到了顶饰,但它没有执行。但是如果我双击它执行的批处理文件。

Process process = runtime.exec("cmd /c start /b "+batchFile.getPath());

【问题讨论】:

    标签: java batch-file


    【解决方案1】:

    这可能是因为在 Windows Server 2003 上从 cmd.exe 运行批处理需要(缺少)管理员权限。

    方法一 为运行批处理作业的用户帐户授予cmd.exe 程序读取和执行权限。为此,请按以下步骤操作:

    1. 单击“开始”,然后单击“Windows 资源管理器”。
    2. 找到并右键单击cmd.exe 文件。 Cmd.exe 文件位于%windir%\System32 文件夹中。
    3. 点击属性。
    4. 单击“安全”选项卡。
    5. 点击添加。
    6. 在“输入要选择的对象名称”框中,键入运行批处理作业的用户名,然后单击“确定”两次。

    注意当您添加用户时,用户会自动获得读取和执行权限。 7. 当系统提示您继续时,单击是。

    方法二cmd.exe 文件的读取和执行权限授予批处理组。这允许所有批处理进程运行命令处理器。为此,请按以下步骤操作:

    1. 单击“开始”,然后单击“Windows 资源管理器”。
    2. 找到并右键单击cmd.exe 文件。 cmd.exe 文件位于 %windir%\System32 文件夹中。
    3. 点击属性。
    4. 单击“安全”选项卡。
    5. 点击添加。
    6. 在“输入要选择的对象名称”框中,键入 Batch,然后单击“确定”两次。
    7. 当系统提示您继续时,单击是。

    有关详细信息,请参阅以下 Microsoft 知识库文章:

    "Access is denied" error message when you run a batch job on a Windows Server 2003-based computer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 1970-01-01
      • 2012-03-31
      相关资源
      最近更新 更多