![Mercurial 在 powershell 脚本中通过计划任务跨网络驱动器进行拉取](https://linux22.com/image/1472841/Mercurial%20%E5%9C%A8%20powershell%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E9%80%9A%E8%BF%87%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1%E8%B7%A8%E7%BD%91%E7%BB%9C%E9%A9%B1%E5%8A%A8%E5%99%A8%E8%BF%9B%E8%A1%8C%E6%8B%89%E5%8F%96.png)
所以我之前有这个问题:Windows 计划任务无法访问映射驱动器在其中我发现了如何访问我正在运行的 python 脚本需要放入文件的驱动器。我认为这也适用于其他活动,但我试图进行 mercurial pull 并出现无法找到文件夹的错误。
仅包含问题部分的脚本的简化版本是:
net use Z: \\esc-msc\SourceRepo >> run_bsd.log
hg pull 2>&1 >> run_bsd.log
在日志文件中给出结果
The command completed successfully.
hg : abort: repository Z:\BSD_ETL not found!
At C:\Users\servacctdwdev\Desktop\BSD_ETL\run_bsd.ps1:2 char:1
+ hg pull 2>&1 >> run_bsd.log
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (abort: repository Z:\BSD_ETL not found!:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
现在我尝试了 pushd 和其他问题中未提及的解决方案,但无济于事。我猜除了 net use 之外,还需要做一些其他事情来允许 mercurial 访问此计划任务?
答案1
我通过使用完整的 UNC 路径而不是映射的驱动器路径重新克隆 repo 来解决 mercurial 的这个问题。