我一直在阅读this thread关于检测锁定文件,现在我想在我的脚本中实现它,所以我需要一种方法以编程方式检测 Windows shell脚本。
接受的解决方案提供了一种保持文件打开/锁定的方法:
(
>&2 pause
) >> test.txt
但此解决方案需要按键 我想创建一个类似的 Windows shell脚本,如下所示:
[Create and locking of c:\Temp\ProgramRunning.lck]
--------------- Rest of the Script ---------------
[Blah blah blah]
---------- End of the Main Body the Script ----------
[Unlocking and deletion of c:\Temp\ProgramRunning.lck]
因此,当脚本完成时,锁定文件会被删除(当然也会解锁)。如果此脚本已停止,Ctrl + C,窗口关闭,挂起系统或其他任何内容,则锁定文件不会被删除,但已解锁。
我怎么能这样做?
答案 0 :(得分:3)
您可以使用call
结合输出重定向来保持文件打开,直到调用返回:
call :main 3>myopenfile.txt
goto :eof
:main
rem do whatever here
goto :eof
如果需要,您可以在通话中写入文件,如下所示:
>>&3 echo hi