我有一个从包含桌面链接的.txt文件创建的字典。我需要将这些链接插入到powershell命令中。但是当我使用'%s' % my_data[key]
时,我得到额外的反斜杠,因此powershell不会处理命令,因为它不知道要查找什么,如何删除额外的反斜杠?
['powershell.exe', "$sh = New-Object -COM WScript.Shell\n$sh.CreateShortcut('C:\\Users\\johns\\desktop\\python\\Survey+Update\\testing this shared.lnk\n').TargetPath"]
答案 0 :(得分:1)
我发现双反斜杠不是问题所在。我的代码subprocess.Popen([r"powershell.exe", r"$sh = New-Object -COM WScript.Shell" + "\n" + "$sh.CreateShortcut(%s).TargetPath" % my_data[key]], stdout=subprocess.PIPE).communicate()[0]
。
字典在每一行的末尾都有\ n。我使用my_dict[key].replace("\n","")
来摆脱它。还需要“路径”\"%s\"
修复的路径。我不知道powershell是如何处理双反斜杠的?但它确实
答案 1 :(得分:0)
尝试使用os.path.normpath:
dir_file = os.path.normpath("C:/Users/johns/desktop/python/Survey+Update/testing this shared.lnk")
['powershell.exe', "$sh = New-Object -COM WScript.Shell\n$sh.CreateShortcut({0}).TargetPath".format(dir_file)]