2

ユーザーのデスクトップに現在のフォルダへのショートカットを自動的に作成したいと思います。私が作業している一部のユーザーは、ショートカットの作成方法やフォルダーのドラッグアンドドロップ方法を知りません。「デスクトップにこのフォルダへのショートカットを作成するには、クリックしてください」という名前のファイルを作成したいだけです。このファイルは、任意のフォルダで機能します。

たとえば、C:\ myRandomFolder \ CLICK ME.whateverを実行する場合、「D:\ Documents and Settings \%username%\ Desktop」に「myRandomFolder」という名前の「C:\myRandomFolder\」へのショートカットを作成します。 。

バッチファイル(.bat)、VBスクリプト(.vbs)、またはその他のスクリプト言語を使用したほうがよいかどうか疑問に思っています。それを行うための最も簡単でより良い方法は何でしょうか?

4

2 に答える 2

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!"
于 2012-10-04T17:59:58.557 に答える
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

繰り返しになりますが、これは右クリックしてデスクトップにショートカットを送信するよりも複雑に感じます。これを必要とするユーザーは誰ですか?コンピューターの基本的なタスクを検討するのに苦労している自閉症の友人がいたことは知っています。あなたが思いついたスクリプトが実際に顧客に役立つかどうかを知りたいと思います。

于 2012-10-04T20:16:39.697 に答える