在Python中创建指向网络路径的快捷方式

1 投票
1 回答
518 浏览
提问于 2025-04-18 10:32

我需要在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'

撰写回答