我想自动创建用户桌面上当前文件夹的快捷方式。我正在使用的一些用户不知道如何创建快捷方式或如何拖放文件夹。我只想创建一个名为“点击我在你的桌面上为这个文件创建一个快捷方式”的文件,该文件可以在我想要的任何文件夹中使用。
例如,如果我运行C:\ myRandomFolder \ CLICK ME.whatever,我希望它在“D:\ Documents and Settings \%username%”上创建名为“myRandomFolder”的“C:\ myRandomFolder”的快捷方式\桌面”。
我想知道我是否更好地使用批处理文件(.bat),VB脚本(.vbs)或任何其他脚本语言来执行此操作。这样做最简单,最好的方法是什么?
答案 0 :(得分:3)
最好的方法似乎是VBS脚本。以下是我最终的工作:
Option Explicit
On Error Resume Next
Private WshShell
Private strDesktop
Private oShellLink
Private aSplit
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
aSplit = Split(WScript.ScriptFullName, "\")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\" & aSplit(Ubound(aSplit) - 1) & ".lnk")
oShellLink.TargetPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
oShellLink.WindowStyle = 1
oShellLink.Description = "Shortcut Script"
oShellLink.WorkingDirectory = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
oShellLink.Save
MsgBox "Shortcut to " & Replace(WScript.ScriptFullName, WScript.ScriptName, "") & " added yo your desktop!"
答案 1 :(得分:2)
答案 2 :(得分:1)
很棒的代码!出于好奇,因为这适用于脚本当前所在的目录,您是否有办法让它显示在每个目录中?否则,在学习这个和学习以本机方式创建快捷方式之间似乎没有太大区别。您仍然需要将脚本拖放到当前文件夹中,不是吗?
在寻求解决方案的过程中,我尽可能让用户导航并选择他们需要链接的特定文件。我不知道你是否会对此有任何用处。
Dim diaSelectFile
Set diaSelectFile = Application.FileDialog(msoFileDialogFilePicker)
diaSelectFile.Show
strPickedFile = diaSelectFile.SelectedItems(1)
Set diaSelectFile = Nothing
Dim oWsh
Dim myshortcut
Dim oShortcut
Dim strSplitFileName
Dim strTarget
Dim nShortName
Set oWsh = CreateObject("WScript.Shell")
strSplitFileName = Split(strPickedFile, "\")
nShortName = UBound(strSplitFileName)
strTarget = strSplitFileName(nShortName)
myshortcut = "C:\users\%USERNAME%\Desktop\" & strTarget & " - Shortcut" & ".lnk"
Set oShortcut = oWsh.CreateShortcut(myshortcut)
With oShortcut
.TargetPath = strPickedFile
.Save
End With
Set oWsh = Nothing
Set oShortcut = Nothing
但是,这再次比右键单击并向桌面发送快捷方式更复杂。谁是需要这个的用户?我知道我有一些贪得无厌的朋友,他们正在努力解决我们在电脑上考虑的基本任务。我非常有兴趣知道你提出的剧本是否真的有助于你的客户。