2012-10-03 85 views
1

我想自動創建用戶桌面上當前文件夾的快捷方式。我正在使用的一些用戶不知道如何創建快捷方式或如何拖放文件夾。我只是想創建一個名爲「點擊我創建一個快捷方式到您的桌面上的這個文件夾」的文件,該文件將在我想要的任何文件夾中工作。例如,如果我運行C:\ myRandomFolder \ CLICK ME.whatever,我希望它在「D:\ Documents and Settings \%username」上創建一個名爲「myRandomFolder」的「C:\ myRandomFolder \」快捷方式%\桌面」。在用戶桌面上創建當前文件夾的快捷方式

我想知道如果我更好地使用批處理文件(.bat),VB腳本(.vbs)或任何其他腳本語言來這樣做。什麼是最簡單和最好的方式呢?

回答

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!" 
2

您可以檢查這些鏈接 - OneTwoThree

如果一切都失敗了更好的開始發送this link給用戶,不要得罪他們,而是讓他們更瞭解。

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 

雖然這再次感覺比右鍵單擊並向桌面發送快捷方式更復雜。誰需要這個用戶?我知道我曾經有過與我們可能考慮在電腦上進行基本任務相抗衡的好客的朋友。我一定有興趣知道你提出的劇本是否能夠幫助你的客戶。

+0

謝謝您的意見。在我的辦公室裏,大多數人都用兩個手指打字(如果你明白我的意思)。然而祕書只是更好一點,足以將VBS剪切/粘貼到正確的文件夾中。她只需通過電子郵件向所有員工發送VBS的直接鏈接並提供一些說明,快捷方式將自動添加到他們的桌面。 – dnLL

+0

至於在所有(子)目錄中顯示VBS,可以很容易地複製每個子目錄中的腳本並將其命名爲_shortcut.vbs。可以在根上生成'_shortcutGen.vbs'來生成當前的'_shortcut.vbs'並將其複製到所有子文件夾中。 – dnLL

相關問題