如何在运行脚本之前使网络资源在本地可用?

如何在运行脚本之前使网络资源在本地可用?

我需要运行一个需要本地文件夹的批处理脚本。它运行使用os.listdir等的 Python 进程。但是我感兴趣的这个特定文件夹只存在于网络文件夹中。那么我是否可以在运行它之前访问网络资源,然后稍后关闭它?

为了服务Windows 服务中有一个名为“以身份登录”的选项,可用于访问远程计算机并对其中的文件执行某些操作。我认为它叫做服务登录帐户. 是否可以对简单的批处理脚本执行相同的操作,即简单的过程


我应该使用这个net use命令吗?我看到了一些解决方案这里但这net use可能是最简单的方法吗?

net use \\RemoteComputer\c$ password /user:DOMAIN\remoteUsername
program.bat
net use \\RemoteComputer\c$ /d

答案1

你可以使用一些条件如果逻辑并检查该资源的 UNC 路径是否存在。如果不存在,您将把它放入一个循环中,这样它就会不断回到例程中,不断运行重新检查,直到它确实存在。一旦它找到 UNC 路径并验证它是可访问的,这表明该资源可用,其余的批处理逻辑就可以运行,然后您就可以出口一旦其他逻辑运行,该过程就会开始。


脚本

@ECHO ON

:: -- Check network share and folder is accessible 
:NetworkAccessible
::ping -n 06 127.0.0.1>nil
IF NOT EXIST "\\<ServerName>\<ShareName>\Folder" GOTO :NetworkAccessible

<Rest of Logic>
<Rest of Logic>

EXIT

笔记: 您可以删除该行上的两个冒号::ping -n 06 127.0.0.1>nil,这样会延迟 5 秒再进行检查,但这个数字可以增加或减少。


更多资源

相关内容