2012-10-03 6 views
1

Je voudrais créer automatiquement un raccourci vers le dossier actuel sur le bureau de l'utilisateur. Certains utilisateurs avec lesquels je travaille ne savent pas comment créer des raccourcis ou comment faire glisser et déposer un dossier. Je veux juste créer un fichier nommé "CLIQUEZ-MOI POUR CRÉER UN RACCOURCI À CE DOSSIER SUR VOTRE BUREAU" qui fonctionnera dans n'importe quel dossier que je veux. Par exemple, si je cours C: \ myRandomFolder \ CLICK ME.whatever, je veux créer un raccourci vers "C: \ myRandomFolder \" nommé "myRandomFolder" sur "D: \ Documents and Settings \% username % \ Desktop ". Je me demande si je suis mieux d'utiliser un fichier batch (.bat), VB Script (.vbs) ou tout autre langage de script pour le faire. Quelle serait la manière la plus facile et la meilleure de le faire?Créer un raccourci vers le dossier actuel sur le bureau de l'utilisateur

Répondre

3

Le meilleur moyen semble finalement être un script VBS. Voici ce que j'ai finalement réussi à faire:

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

Vous pouvez vérifier la ces liens - One, Two et Three

Si tout le reste échoue mieux commencer à envoyer des this link aux utilisateurs, de ne pas les offenser, mais pour les rendre plus conscients.

1

Excellent code! Par curiosité, puisque cela fonctionne pour le répertoire dans lequel le script est actuellement, avez-vous un moyen de l'afficher dans chaque répertoire? Sinon, il ne semble pas qu'il y ait beaucoup de différence entre apprendre cela et apprendre à faire un raccourci à la manière native. Vous devrez toujours glisser et déposer le script dans le dossier actuel, n'est-ce pas? Tout en trébuchant vers une solution, je suis allé jusqu'à laisser les utilisateurs naviguer et sélectionner un fichier particulier avec lequel ils doivent se lier. Je ne sais pas si tu serais utile pour ça.

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 

Encore une fois, cependant, cela semble plus complexe que de cliquer avec le bouton droit de la souris et d'envoyer un raccourci vers le bureau. Qui sont les utilisateurs qui en ont besoin? Je sais que j'ai eu des amis austistic qui luttent avec ce que nous pourrions considérer les tâches de base sur l'ordinateur. Je serais certainement intéressé de savoir si le scénario que vous avez proposé aide réellement votre clientèle.

+0

Merci pour votre contribution. À mon bureau, la plupart des gens tapent avec 2 doigts (si vous voyez ce que je veux dire). La secrétaire est cependant juste un peu mieux, assez pour couper/coller le VBS dans le bon dossier. Elle doit simplement envoyer un lien direct vers le VBS par courrier électronique à tous les employés avec quelques instructions et le raccourci sera automatiquement ajouté à leur bureau. – dnLL

+0

Pour afficher le VBS dans tous les (sous) répertoires, il serait facile de copier le script dans chaque sous-répertoire et de le nommer '_shortcut.vbs'. Il pourrait y avoir un '_shortcutGen.vbs' sur la racine qui génère l'actuel' _shortcut.vbs' et le duplique dans tous les sous-dossiers. – dnLL

Questions connexes