如何从Windows命令行shell脚本中打开(锁定)文件?

时间:2014-03-23 21:56:43

标签: windows shell locking

我一直在阅读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,窗口关闭,挂起系统或其他任何内容,则锁定文件不会被删除,但已解锁

我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

您可以使用call结合输出重定向来保持文件打开,直到调用返回:

call :main 3>myopenfile.txt
goto :eof

:main
rem do whatever here
goto :eof

如果需要,您可以在通话中写入文件,如下所示:

>>&3 echo hi