Windows:创建不存在的驱动器的快捷方式不允许使用长文件夹和文件名

问题描述

|| 我正在尝试使用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路径,这样它就不取决于要映射的驱动器。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...