такое .ksh удаляет косую черту? - PullRequest
0 голосов
/ 16 мая 2019

В среде Windows 7 у меня есть Java-код, который запускает скрипт .ksh.Последний принимает путь к каталогу в качестве аргумента и должен создать в нем новую папку.

Код Java:

    ProcessBuilder pb = create(this.shell);
    pb.command().add(commandLine);

this.shell установлен на {"cmd.exe", "/C"}, в то время какcommandLine:

""C:\Users\Andrea\Desktop\Appxxx\..\Scripts\Mod\Launch.ksh" "C:\Users\Andrea\Desktop\Appxxx\dir\"

процесс запускается с:

pb.start()

.ksh должен создать папку " log " в Appxxx \ dir

К сожалению, я получаю следующую ошибку:

mkdir: cannot create directory '/log': No such file or directory
C:\Users\Andrea\Desktop\Appxxx\Scripts\Mod\Launch.ksh[38]: can't create /log/UCS.log: No such file or directory

Даже если путь явно существует.Итак, я попытался запустить ту же команду (без кавычек) непосредственно на терминале Cygwin, и я получил следующий журнал:

mkdir: cannot create directory ‘C:UsersAndreaDesktopAppxxxdir 

C:UsersAndreaDesktopAppxxx/log’: No such file or directory
C:/Users/Andrea/Desktop/Appxxx/Scripts/Mod/Launch.ksh[38]: can't create C:UsersAndreaDesktopAppxxxdir C:UsersAndreaDesktopAppxxx/log/UCS.log: No such file or directory

Мне ясно, что что-то удаляет все косые черты, и поэтому путь не может бытьнайденный.В качестве попытки, на терминале cygwin я пытался запустить ту же строку, но менял каждую / с. Это работает! К сожалению, когда я попытался сделать это для commandLine в Java, это также не удалось.

Подсказки?

PS: мне не разрешеноизменить код Java и Ksh ни.Наконец, приложение гарантированно работает на ОС Linux.

Спасибо всем вам

...