Desde que me mudei para o Windows 7, sempre que estou desenvolvendo um script .bat, tenho exatamente uma chance de acertar. Assim que executo o script, ele fica bloqueado por um processo desconhecido, mesmo que a execução pareça ter sido concluída, e eu preciso forçar a saída do explorador ou a reinicialização para poder editar o arquivo .bat novamente.
Por exemplo, se eu criar um arquivo .bat,
@echo off
@start prog\ConsolePortable\ConsolePortable.exe
em seguida, percebo depois de executá-lo que precisei alterar algum aspecto do script,
@echo off
@cd prog\ConsolePortable
@start ConsolePortable.exe
Então não poderei salvar minhas alterações. Por exemplo, em gvim eu recebo a mensagem, "'console.bat' é somente leitura (adicione! Para substituir)," e quando tento substituir, recebo a mensagem "E212: Não consigo abrir o arquivo para escrita."
Certamente deve haver alguma maneira de criar scripts sem exigir ProcessExplorer em todos os computadores que eu uso. Como alguém acha o processo de um arquivo .bat para pará-lo, afinal? Eu tentei ProcessExplorer e BSOD'd o compy tentando pará-lo. Eu também tentei usar o cmd / c no lugar do início.
EDITAR:
O ConsolePortable inicia bem aqui e parece sair bem, no entanto, a seguinte configuração de teste não congela o editor:
// 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:
Talvez eu deva mencionar que criei o arquivo usando o comando touch no cygwin. Depois de reiniciar o computador, não posso duplicar esse problema, embora já tenha encontrado em outros computadores.