Добрый день.
Не могу создать .bat файл на диске C:, на D все работает отлично.
Я админ хоста, вручную все создается но через скрипт не желает.
Просьба подсказать как решить данную загвоздку.
Вот способ создания:
public class StartApplication {
public void start(){
FileWorker batFile = new FileWorker();
String text = "C:" + "\n" + "cd \"C:\\Program Files (x86)\\Program\"" + "\n" + "\"C:\\Program Files (x86)\\Program\\Wpf.exe\" /max";
String patch = "D:start.bat";
batFile.setPatchToBatFile(patch);
batFile.setTextToBatFile(text);
batFile.CreateBatFile();
try {
Runtime.getRuntime().exec("cmd /c start D:/start.bat ");
} catch (IOException e) {
System.out.println("IOException: " + e.getMessage());
}
}
}
vmaximv
(vmaximv)
08.Июль.2015 13:09:49
#2
Давайте я немного отредактирую ваш код, что бы вам стало понятно как его видят другие посетители этого форума:
public class StartApplication {
public void start(){
?????????? batFile = new ??????????();
String text = "C:" + "\n" + "cd \"C:\\Program Files (x86)\\Program\"" + "\n" + "\"C:\\Program Files (x86)\\Program\\Wpf.exe\" /max";
String patch = "D:start.bat";
batFile.?????????????(patch);
batFile.??????????????(text);
batFile.????????????();
try {
Runtime.getRuntime().exec("cmd /c start D:/start.bat ");
} catch (IOException e) {
System.out.println("IOException: " + e.getMessage());
}
}
}
ЗЫ: клавиша с буквой С - самая коварная клавиша на клавиатурах с кириллицей
2 лайка
Два варианта приходят в голову (зависит от того, какая операционка). Если это 2008+/7+, то:
если вы запускаете программно в нулевой сессии, ваш батник, скорее всего, не отрабатывает
FSRM/File screening - ваш батник залочен операционкой (см. свойства файла батника).
Funker
(Funker)
08.Июль.2015 14:49:35
#4
а пробовали смену диска? командой типа
cmd /c cd /D D:\ start D:/start.bat
ArtOfLife
(Sergey Korol)
08.Июль.2015 14:50:20
#5
Немного перефразировав, вам невольно намекнули, что экстрасенсорных способностей для определения содержимого FileWorker
у пользователей данного комьюнити нет.
Если хотите, чтобы вам помогли, постите весь код.
Прошу прощения, только потом вспомнил что там мои методы:)
Вопрос уже решил, просто создаю под каталог в самой джаве:
public static void main(String[] args) {
File myPath = new File("%APPDATAaa%\\Automation\\ss\\");
myPath.mkdirs();
}
Так как все остальные варианты уж очень извратные, для хранения нескольких батничков сойдет:)
Данный вариант отлично работает, но я ищу универсальное решение для всех хостов windows через диск C.
Виртуальные машины по дефолту создают именно его)
Funker
(Funker)
08.Июль.2015 15:30:30
#8
может так?
cd /D %APPDATAaa%\Automation\ss\ start start.bat
Дальше там все просто, проблема была создать каталог и файл в нужном месте.