java - 我只是想在 C 盘共享批处理文件夹中的服务器上运行批处理文件

标签 java batch-file sas

我只是尝试在 C 盘共享批处理文件夹中的服务器上运行批处理文件,但出现错误:

java.io.IOException: Cannot run program "sas.bat" (in directory "\\xx.xx.xx.xx\batch"): CreateProcess error=2, The system cannot find the file specified

java代码:

ProcessBuilder launcher = new ProcessBuilder();
launcher.redirectErrorStream(true);

launcher.directory(new File("\\\\xx.xx.xx.xx\\batch").getAbsoluteFile());
launcher.command("sas.bat");
Process p= launcher.start();

sas.bat:

"D:\sas home\SASFoundation\9.3\sas.exe" -SYSIN c:\codeexcel.sas
cmd /k

最佳答案

我怀疑,您可以直接使用像 \\server\folder 这样的 UNC 路径作为工作目录。

尝试使用整个路径(例如 \\server\folder\test.bat)作为命令,也许可行。

如果没有,您必须先创建一个具有特定驱动器号的网络驱动器,然后使用该驱动器号执行命令。

关于java - 我只是想在 C 盘共享批处理文件夹中的服务器上运行批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32943386/

相关文章:

batch-file - 条件暂停(不在命令行中)

SAS:以编程方式确定运行 SAS 的机器

sas - 将 SAS 数据集的标签设置为其变量名称

sas - 在 infile 语句中将文件名指定为变量

java - 控件不断从我的 JFrame 中消失,没有 JPanes 或任何要绘制的内容

java - 使用 scenebuilder 将字符串输出到文本字段 javafx

javascript - GWT Widget 不允许长按复制选择

windows - 用空文件复制目录文件结构

windows - 使用批处理文件或命令删除只读文件

java - Ajax 请求参数,我做错了什么?