我想创建一个快捷方式,但其目标尚不存在。但是,当我尝试创建它时,Windows 会报错,提示指定的目标不存在。
虽然我理解为什么 Windows 会引发此错误,但我想知道是否有办法绕过它。
我的文件将位于D:\MyScript.exe
,因此创建具有此名称的虚假文件将不起作用,因为该字符\
在 Windows 文件名中是被禁止的。
答案1
捷径来自 Optimumx 可以为不存在的目标创建快捷方式。
您可能会运行以下命令
shortcut /F:example.lnk /A:C /T:D:\MyScript.exe
来源:
1.在 Windows XP 中创建不存在文件夹的快捷方式
2.http://www.msfn.org/board/topic/70537-is-there-a-way-to-create-a-shortcut-without-the-source-file/
答案2
在我看来,只有一种方法,那就是简单的破解。
创建一个新文件(如文本文件),将其命名为带扩展名的最终文件名。当然,这个文件不起作用,但 Windows 会引用它。然后,当您有真正的文件时,只需将其复制到虚拟文件的顶部即可!
答案3
正如 Dave 提到的,您可以创建一个符合快捷方式规则的文件作为占位符。如果它在另一个驱动器上(如您提到的 D:),则将驱动器映射到该驱动器号(右键单击my computer >> map a drive >> \\[your hostname]\c$\temp
)。如果它在您无权访问的目录中,请在您有访问权限的另一台计算机上创建快捷方式,然后将其复制过去。
答案4
这是我编写的一个脚本,结合了其他人的想法,用于创建文件夹的快捷方式,即使该文件夹不存在。它会创建文件夹然后删除该文件夹。将以下文本复制到 .cmd 文件并运行它。您唯一需要编辑的是变量 DIR 和 NAME。如果您要创建文件快捷方式,请确保注释掉创建目录 %DIR%”线。
@ECHO 关闭 REM 此脚本创建文件夹的快捷方式并将其放在桌面上。 ECHO 设置目标路径... 设置 DIR="C:\Folder_Path" ECHO 设置快捷方式的名称 设置名称=快捷方式名称 ECHO 创建用于匹配的快捷方式临时目录…… REM 如果您正在创建文件快捷方式,请注释掉此 mkdir 行以避免创建文件夹快捷方式。 创建目录 %DIR% ECHO 正在运行创建 VB 脚本... REM 这是临时 VBS 文件所在的位置。 设置 VBS=%USERPROFILE%\Desktop\Create-Icon.vbs >> %VBS% echo Dim FileName, UploadStac >> %VBS% 回显 UploadStac="Stac 上传" >> %VBS% echo 文件名 = "%NAME%" >> %VBS% echo 设置快捷方式 = CreateObject("WScript.Shell").CreateShortcut(CreateObject("WScript.Shell").SpecialFolders("桌面") ^& + "\" + FileName + ".lnk") >> %VBS% echo 快捷方式.Description = “描述” >> %VBS% 回显快捷方式.TargetPath = %DIR% >> %VBS% echo 快捷方式.参数 = “” >> %VBS% echo 快捷方式.保存 REM 这两行让VBS脚本自动删除自身。 >> %VBS% echo Dim Fso:设置 Fso = WScript.CreateObject("Scripting.FileSystemObject") >> %VBS% echo Fso.deleteFile("%VBS%") ECHO 运行 VB 脚本... REM 完成此操作后,一切都会自行清理。 启动 %VBS% 需要 REM 超时才能允许创建文件夹快捷方式。 超时/T 1 REM rmdir 不会删除其中仍有内容的文件夹。别担心。 删除目录 %DIR% /Q