-2

//编辑:我不知道我这样做的原因,但它适用于插入 y.toString() 作为路径的突起

:(

不管怎么说,还是要谢谢你

如果我尝试执行文件并将路径作为变量,它不起作用,我不断收到“拒绝访问”错误。但是当硬编码完全相同的字符串时,程序可以正常启动

File[] files = dir.listFiles();

for(File x : files){
    File[] childfiles = x.listFiles();
    for (File y: childfiles){


    if(y.toString().endsWith(".exe")){

        String fstring ="\"\\\"";
        String lstring ="\\\"\"";

       Process p = Runtime.getRuntime().exec(
                fstring+y.toString().replace("\\","/")+lstring;
                p.waitFor();

    }
}

在我直接输入文件路径时,它工作正常(看起来完全一样)与我在 exec 中插入的字符串相同

4

1 回答 1

0

假设您正在执行“abc.exe”。

根据fstring+abc.exe+lstring表格 to"\"abc.exe\""和替换后的表格/to "/"abc.exe/""。这是执行的错误输入。

直接执行.exe为:

Process p = Runtime.getRuntime().exec(y.getName());
int responseCode = p.waitFor();
于 2012-08-07T18:35:27.770 回答