问题描述
||
我正在尝试使用PowerShell创建以映射驱动器上的文件为目标的快捷方式。但是,该脚本将在实际映射驱动器之前运行。这是代码:
$Shortcut = (New-Object -ComObject WScript.Shell).CreateShortcut(\"$Env:USERPROFILE\\Desktop\\Test.lnk\")
$Shortcut.TargetPath = \"X:\\Folder With Spaces\\This is a long filename.txt\"
$Shortcut.Save()
因为\“ X \”驱动器尚不存在,这就是快捷方式的\“ Target \”字段最终表示的内容:
Windows XP:X:\\ Folder_W \\ This_is_.txt
Windows 7:X:\\ Folder_With_Spaces \\ This_is_a_long_filename.txt
两种操作系统都删除了周围的双引号,并将空格转换为下划线。 Windows XP还会将文件夹和文件名截断为8个字符。
有办法解决这个问题吗?
解决方法
我不知道您可以不检查TargetPath而绕开它。
我建议对目标使用UNC路径,这样它就不取决于要映射的驱动器。