2011-05-25 13 views
2

我試圖使用PowerShell創建一個快捷方式,目標映射驅動器上的文件。不過,該腳本將在驅動器實際映射之前運行。下面的代碼:Windows:創建到不存在的驅動器的快捷方式不允許長文件夾和文件名

$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個字符。

有沒有辦法解決這個問題?

回答

0

我不知道你可以繞過它而不檢查TargetPath。

我會建議使用目標的UNC路徑,因此它不依賴於映射的驅動器。

相關問題