我需要运行一个需要本地文件夹的批处理脚本。它运行使用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 秒再进行检查,但这个数字可以增加或减少。