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

时间:2014-06-20 18:02:58

标签: python win32com

我需要在Python中创建网络驱动器的快捷方式。我们有一个网络驱动器映射到不同PC上的各种字母(即:I:\或R:\),因此我不能在路径前放置一个字母,因为它由用户各种各样。相反,我直接使用网络路径但是当我尝试运行以下代码时,我得到一个com_error:'无法保存快捷方式'它试图在它前面添加一个字母(例如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 个答案:

答案 0 :(得分: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'