你好,我想问下,在批处理里怎么判断一个文件被占用?然后等待它释放。

最好是一个无限循环的等待,直到文件被解除... 最好是一个无限循环的等待,直到文件被解除 展开
 我来答
忆林子
2013-04-23 · TA获得超过2034个赞
知道大有可为答主
回答量:4079
采纳率:0%
帮助的人:2734万
展开全部

可以通过重命名的返回结果判断是否被锁定

以下是一个简单的示例代码,你可以试试。

@echo off
goto :lockChk
:unlock
echo 未锁定部分处理
pause
exit
:lockChk
rem 通过重命名的方式判断是否被锁定
set oldName=a.txt
set newName=b.txt
ren %oldName% %newName% 1>nul 2>nul
if %errorlevel% neq 0 (
echo 锁定中
goto :lockChk
) else (
ren %newName% %oldName% 1>nul 2>nul
goto :unlock
)
追问
思路很好,但我操作的时候遇到一些问题,希望你再帮我解答下
set oldName=a.txt
set newName=b.txt
这里的a.txt是指当前目录下的一个文件吗?
好像我不管怎么写,都是提示“锁定中”
还有一个问题是,如何遍历当前目录下的带数字的子目录(仅遍历一层目录即可),也是一个循环,但不是死循环
xxpinqz
2013-04-23 · TA获得超过1323个赞
知道小有建树答主
回答量:1055
采纳率:0%
帮助的人:1317万
展开全部

按你的 最好是一个无限循环的等待,直到文件被解除的意思可以这么写

@echo off
::是否存在d:\123\321\abc.txt文件,自己修改下一行。
set "filename=d:\123\321\abc.txt"
:loop
if exist "%filename%" goto loop
echo %filename% 不存在
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式