在Python中创建指向网络路径的快捷方式
我需要在Python中创建一个指向网络驱动器的快捷方式。我们有一个网络驱动器,它在不同的电脑上被映射成不同的盘符(比如:I:\ 或 R:\),所以我不能在路径前面加上一个固定的盘符,因为每个用户的情况都不一样。相反,我直接使用网络路径,但当我尝试运行以下代码时,出现了一个错误:'无法保存快捷方式',它试图在路径前加上一个盘符(例如 P:)。有没有什么简单的方法可以解决这个问题?
import win32com.client
def main():
CreateShortcut()
def CreateShortcut():
shell = win32com.client.Dispatch("WScript.Shell")
shortcut = shell.CreateShortCut("\\xxxxxxx.xx.xx.xxx.com\\shared\\data\\Test_Results_Location.lnk")
shortcut.Targetpath = "\\xxxxxxx.xx.xx.xxx.com\\shared\\data\\Machine\\Test_Results"
#shortcut = shell.CreateShortCut("I:\\Test Results Location.lnk") # This works fine
#shortcut.Targetpath = "I:\\Machine\\Test_Results"
shortcut.save()
return shortcut
if __name__ == '__main__':
main()
1 个回答
1
网络路径通常以两个反斜杠开头,比如 \\server\share
,这是用来访问名为 share
的共享文件夹,位于 server
服务器上。因此,当你要指定这个共享文件夹的路径时,如果想要正确表示,就需要使用四个反斜杠来进行转义:
'\\\\xxxxxxx.xx.xx.xxx.com\\shared\\data\\Machine\\Test_Results'
另外,你也可以使用原始路径,这样看起来会简单一些,因为在这种情况下你不需要对反斜杠进行转义:
r'\\xxxxxxx.xx.xx.xxx.com\shared\data\Machine\Test_Results'