我需要在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()
答案 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'