Board logo

标题: [文件操作] 批处理如何结束已打开共享文件的进程? [打印本页]

作者: minmin253    时间: 2022-4-6 00:34     标题: 批处理如何结束已打开共享文件的进程?

各位大神,小弟求助一下,如何使用批处理结束已打开共享文件的进程(只能在计算机管理中的共享文件-已打开文件中看到)?或者有没有批处理命令可以删除已被别的用户打开的共享文件? 若解决重谢!期待大神伸出援助之手
作者: minmin253    时间: 2022-4-6 01:45

补充:每次更新文件,批处理总更新不成功。发现是因为个别共享文件总是被用户打开,没有及时关闭。每次都要到计算机管理的共享文件-已打开中删除后,才能更新文件。很苦恼。
作者: zaqmlp    时间: 2022-4-6 11:08

以管理员身份运行
  1. @echo off
  2. for /f "tokens=1*" %%a in ('net file^|findstr /b "[0-9]"') do (
  3.     echo;%%b
  4.     net file "%%~a" /close
  5. )
  6. pause
  7. exit
复制代码

作者: minmin253    时间: 2022-4-6 11:27

回复 3# zaqmlp

请问大神 我把文件路径或者文件名 放在什么位置上!

感谢!
作者: zaqmlp    时间: 2022-4-6 11:29

回复 4# minmin253
不需要
作者: Batcher    时间: 2022-4-6 11:30

回复 4# minmin253


    3楼代码直接保存为 test.bat 双击执行有啥报错信息吗?请发出来看看吧
作者: zaqmlp    时间: 2022-4-6 23:17

解决没有?还等着看怎么个“重谢”呢
作者: minmin253    时间: 2022-4-7 14:01

回复 6# Batcher
抱歉回复晚了!昨天开了几个会 耽搁了!问题已经解决!谢谢大神!谢谢管理员!
自己也想了一个招 能够绕过这个问题。 给用户打开文件一定时限,时间一到自己关闭。这样下次更新就不受影响了。

@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
@echo off
start "" "\\XXXX\XXXX\XXXX.pdf"
ping 127.1 -n 300 >nul
TASKKILL /F /T /FI "WINDOWTITLE EQ PowerPoint Presentation - Adobe *" >NUL
TASKKILL /F /T /FI "WINDOWTITLE EQ SHHZ-Moment.pdf *" >NUL
谢谢大家的帮助




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2