Mye*_*yer 5 windows-7 batch gvim
自从我迁移到 Windows 7 以来,每当我开发 .bat 脚本时,我就有一次正确的机会。一旦我执行脚本,即使执行似乎已完成,它也会被未知进程锁定,并且我必须强制退出资源管理器或重新启动才能再次编辑 .bat 文件。
例如,如果我创建一个 .bat 文件,
@echo off
@start prog\ConsolePortable\ConsolePortable.exe
Run Code Online (Sandbox Code Playgroud)
然后在执行后意识到我需要更改脚本的某些方面,
@echo off
@cd prog\ConsolePortable
@start ConsolePortable.exe
Run Code Online (Sandbox Code Playgroud)
那么我将无法保存我的更改。例如,在 gvim 中,我收到消息“'console.bat'是只读的(添加!以覆盖)”,然后当我尝试覆盖时,我收到消息“E212:无法打开文件写作。”
当然,在我使用的每台计算机上都必须有某种不需要ProcessExplorer的脚本编写方法。无论如何,如何找到 .bat 文件的进程来阻止它呢?我尝试了 ProcessExplorer,但该公司试图阻止它却出现了 BSOD。我还尝试使用 cmd /c 代替 start。
编辑: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 ...
Run Code Online (Sandbox Code Playgroud)
编辑2:也许我应该提到我是通过使用 cygwin 中的 touch 命令创建的文件。重新启动计算机后,我无法重复此问题,尽管我以前在其他计算机上遇到过该问题。
我想说这可能是你的编辑器的错误,或者你设置了奇怪的权限。
我经常用记事本(在运行时)编辑批处理文件,并且没有遇到问题。
但是,我不确定您是否可以注入命令 - 它会记住它所在的行号(我认为)。
例如,在您的bat文件中,启动后,它将完成处理。
在第三行暂停,然后运行,但暂停后不要按任何键。编辑原始bat文件,在第四行放置一个命令 - 您将看到第四行将被处理。
| 归档时间: |
|
| 查看次数: |
3606 次 |
| 最近记录: |