我正在通过应用程序将文件从 Windows 共享移动到 ftp 服务器。我只是想确保确实没有其他应用程序也尝试处理该文件。我尝试使用手柄,但该程序无法安装在我的工作笔记本电脑上。是否有一个 cmd 命令可以用来查看某个文件是否被应用程序或进程锁定?
首先尝试将文件移动到临时目录。如果此操作没有失败,您可以安全地将文件移动到其最终目的地。 有时,是 ftp 服务器或 Web 服务器使目标文件保持打开状态,从而阻止其更新(此时有人正在下载该文件)。在这种情况下,重命名旧文件可能会有所帮助。操作重命名之所以有效,是因为它打开目录句柄而不是被阻止的文件句柄。
IF EXIST %TMP%\file DEL %TMP%\file
MOVE \\windows\share\file %TMP%\file
IF NOT EXIST %TMP%\file (ECHO file is not movable at the moment.&EXIT)
IF EXIST \\ftp\server\ftproot\file.bak DEL \\ftp\server\ftproot\file.bak
REN \\ftp\server\ftproot\file \\ftp\server\ftproot\file.bak
MOVE /Y %TMP%\file \\ftp\server\ftproot\file
我相信您可以在这里找到答案。只需查看发回的错误消息,就可以很容易地找到哪个进程正在使用该文件或目录。