Почему сценарии .bat становятся заблокированными после выполнения в Windows 7?

С тех пор, как я перешел на Windows 7, всякий раз, когда я разрабатываю скрипт .bat, у меня есть только один шанс, чтобы все исправить. Как только я запускаю скрипт, он становится заблокированным неизвестным процессом, даже если выполнение завершено, и я должен заставить quit explorer или перезапустить, чтобы иметь возможность редактировать файл .bat снова.

Например, если я создаю файл .bat,

@echo off @start prog\ConsolePortable\ConsolePortable.exe 

Затем осознайте, выполнив его, что мне нужно изменить какой-то аспект скрипта,

 @echo off @cd prog\ConsolePortable @start ConsolePortable.exe 

Тогда я не смогу сохранить свои изменения. Например, в gvim я получаю сообщение: «console.bat» доступен только для чтения (add! To override) », а затем, когда я пытаюсь переопределить, я получаю сообщение:« E212: не удается открыть файл для письмо."

Разумеется, должен быть какой-то способ сценариев, не требующий ProcessExplorer на каждом компьютере, который я использую. Как вообще можно найти процесс .bat-файла, чтобы остановить его? Я попробовал ProcessExplorer и BSOD''компьютер, пытаясь остановить его. Я также попытался использовать cmd / c вместо запуска.

EDIT: 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 ... 

EDIT 2: Возможно, я должен упомянуть, что создал файл, используя команду touch в cygwin. После перезагрузки компьютера я не могу дублировать эту проблему, хотя раньше я сталкивался с ней на других компьютерах.

2 Solutions collect form web for “Почему сценарии .bat становятся заблокированными после выполнения в Windows 7?”

Я бы сказал, что это, возможно, ошибка с вашим редактором, или у вас есть странные разрешения.

Я довольно часто редактирую пакетные файлы с помощью блокнота (во время работы) и не имел проблемы.

Однако я не уверен, что вы можете просто вводить команды – он помнит номер строки (я думаю), что она была включена.

Например, в вашем файле bat, после запуска он завершит обработку.

Поместите паузу в третьей строке, затем запустите, но не нажимайте клавишу после паузы. Отредактируйте исходный файл bat, поместите команду в четвертую строку – и вы увидите, что четвертая строка будет обработана.

Я бы попробовал изменить линию

 @start ConsolePortable.exe 

к

 @start "myProgram" ConsolePortable.exe 

Как из http://ss64.com/nt/start.html :

START «title» [/ Dpath] [опции] «команда» [параметры]

Заметки:

Всегда включайте TITLE, это может быть простая строка, например «Мой скрипт» или просто пара пустых кавычек »« Согласно документации Microsoft, заголовок является необязательным, но у вас могут быть проблемы, если они опущены.

Файлы документов могут быть вызваны через их ассоциацию файлов, просто введя имя файла в качестве команды. Например START "" WORD.DOC запустит приложение, связанное с расширением файла .DOC

Это застало меня настороже, когда я пытался сценаризировать VLC некоторое время назад, и, поставив заголовок, исправил, по-видимому, связанную с этим проблему.

  • Мои настройки gvim все испорчены после обновления до Ubuntu 11.04
  • Как я могу получить (g) Vim для отображения количества символов текущего файла?
  • Как вызывать gvim Windows в среде Windows из Cygwin?
  • (Чешский) поддержка набора символов в gvim 7.3 на Windows 7
  • Где мой вариант контекстного меню «Открыть с помощью gVim» в Windows 7?
  • Vimperator. Настройка внешнего редактора в Windows XP
  • Открытие первых строк больших файлов в VIM
  • Метод ввода чешского языка и поддержка шрифтов в gvim 7.4 на Windows 7
  • Проблема с VIM
  • Как заставить vim открывать сразу несколько файлов на вкладки
  • Выравнивание длины строки работает корректно в консоли Vim, а не в графическом интерфейсе
  • Давайте будем гением компьютера.