С тех пор, как я перешел на Windows 7, всякий раз, когда я занимаюсь разработкой сценария .bat, у меня есть только один шанс сделать это правильно. Как только я выполняю сценарий, он блокируется неизвестным процессом, даже если кажется, что выполнение завершено, и мне приходится принудительно выходить из проводника или перезапускать, чтобы иметь возможность снова редактировать файл .bat.
Например, если я создаю файл .bat,
@echo off
@start prog\ConsolePortable\ConsolePortable.exe
затем, после его выполнения, поймите, что мне нужно изменить некоторые аспекты сценария,
@echo off
@cd prog\ConsolePortable
@start ConsolePortable.exe
Тогда я не смогу сохранить свои изменения. Например, в gvim я получаю сообщение «console.bat» только для чтения (добавьте! переопределить), "а затем, когда я пытаюсь переопределить, я получаю сообщение" E212: не удается открыть файл для записи ".
Конечно, должен быть какой-то сценарий, не требующий ProcessExplorer на каждом компьютере, который я использую. Как найти процесс .bat-файла, чтобы остановить его? Я попробовал ProcessExplorer и BSOD'ы пытались остановить его. Я также попытался использовать cmd /c вместо начала.
РЕДАКТИРОВАТЬ: ConsolePortable начинается нормально здесь и, кажется, завершить нормально, однако следующие настройки теста не останавливает редактор:
// Program.java
class Program {public static void main(String[] args) {System.exit(0);}}
// startProgram.bat
echo Starting Program in Java ...
start java Program
echo exiting bat file ...
РЕДАКТИРОВАТЬ 2: Возможно, я должен упомянуть, что я создал файл с помощью сенсорной команды в Cygwin. После перезагрузки компьютера я не могу продублировать эту проблему, хотя я встречал ее на других компьютерах раньше.