2

我正在尝试使用 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”驱动器还不存在,所以快捷方式的“目标”字段最终会这样说:

Windows XP:X:\Folder_W\This_is_.txt

Windows 7:X:\Folder_With_Spaces\This_is_a_long_filename.txt

两种操作系统都会删除周围的双引号并将空格转换为下划线。Windows XP 还将文件夹和文件名截断为 8 个字符。

有没有办法解决这个问题?

4

1 回答 1

0

我不知道您是否可以绕过它而不检查 TargetPath。

我建议对目标使用 UNC 路径,因此它不依赖于被映射的驱动器。

于 2011-08-29T09:05:49.987 回答