gpt4 book ai didi

windows - 我可以防止一个批处理文件同时被 1 个以上的用户执行吗

转载 作者:可可西里 更新时间:2023-11-01 09:28:49 26 4
gpt4 key购买 nike

我有一个批处理文件,可以更新 Web 项目并清理/重建它。我使它对网络用户可执行。现在我想让批处理只能由一个用户同时执行。就像编程语言中的同步对象。

有没有可能做到这一点?

最佳答案

检查批处理文件是否已在运行的简单解决方案是使用文件系统。

批处理文件可以检查文件是否存在并在这种情况下拒绝执行,否则它会创建文件、运行命令并最终删除文件。

@echo off
if exist "C:\Temp\BatchLock.txt" goto BatchRunning
echo Batch file is running by %username%.>C:\Temp\BatchLock.txt

rem All other commands of the batch file

del C:\Temp\BatchLock.txt
goto :EOF

:BatchRunning
type C:\Temp\BatchLock.txt
echo/
echo Please run the batch later again.
echo/
echo Press any key to exit ...
pause >nul

当然 C:\Temp 不是锁定文本文件的良好存储位置。它必须是一个对所有用户都相同的目录,一个在服务器上对所有用户都具有写权限的目录。

关于windows - 我可以防止一个批处理文件同时被 1 个以上的用户执行吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25966202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com