コマンドラインユーティリティを使用して、他のファイルまたは実行可能ファイルへのショートカットファイル(.lnk
)を作成する方法を教えてください。
このサイトには非常に役立つ情報がいくつかあります。 http://ss64.com/nt/shortcut.html
私は持っていないいくつかのリソースキットにいくつかのshortcut.exe
があるようです。
他の多くのサイトが述べているように、バッチファイルからそれを行うための組み込みの方法はありません。
しかし、VBスクリプトから実行できます。
下記のVBスクリプトのオプションセクションはコメントアウトされています。
Set oWS = WScript.CreateObject("WScript.Shell") sLinkFile = "C:\MyShortcut.LNK" Set oLink = oWS.CreateShortcut(sLinkFile) oLink.TargetPath = "C:\Program Files\MyApp\MyProgram.EXE" ' oLink.Arguments = "" ' oLink.Description = "MyProgram" ' oLink.HotKey = "ALT+CTRL+F" ' oLink.IconLocation = "C:\Program Files\MyApp\MyProgram.EXE, 2" ' oLink.WindowStyle = "1" ' oLink.WorkingDirectory = "C:\Program Files\MyApp" oLink.Save
そのため、実際に実行する必要がある場合、バッチファイルにVBスクリプトをディスクに書き込ませ、それを呼び出してから削除することもできます。たとえば、
@echo off
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "%HOMEDRIVE%%HOMEPATH%\Desktop\Hello.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "C:\Windows\notepad.exe" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs
上記のスクリプトを実行すると、デスクトップに新しいショートカットが作成されます。
これは匿名の貢献者からのより完全な抜粋です(マイナーな修正で更新されました):
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
SET LinkName=Hello
SET Esc_LinkDest=%%HOMEDRIVE%%%%HOMEPATH%%\Desktop\!LinkName!.lnk
SET Esc_LinkTarget=%%SYSTEMROOT%%\notepad.exe
SET cSctVBS=CreateShortcut.vbs
SET LOG=".\%~N0_runtime.log"
((
echo Set oWS = WScript.CreateObject^("WScript.Shell"^)
echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^)
echo Set oLink = oWS.CreateShortcut^(sLinkFile^)
echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^)
echo oLink.Save
)1>!cSctVBS!
cscript //nologo .\!cSctVBS!
DEL !cSctVBS! /f /q
)1>>!LOG! 2>>&1
これは、PowerShellを使用した同様の解決策です(おそらく、バッチファイル全体をPSで書き直すことができますが、Get It Done™を使用する場合は...)
set TARGET='D:\Temp'
set SHORTCUT='C:\Temp\test.lnk'
set PWS=powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile
%PWS% -Command "$ws = New-Object -ComObject WScript.Shell; $s = $ws.CreateShortcut(%SHORTCUT%); $S.TargetPath = %TARGET%; $S.Save()"
あなたのファイルの中でPSへのパスを明確に指定する必要があるかもしれませんが、それはうまくいくはずです。このオブジェクトを介して変換できるいくつかの追加の属性もあります。
Name MemberType Definition
---- ---------- ----------
Load Method void Load (string)
Save Method void Save ()
Arguments Property string Arguments () {get} {set}
Description Property string Description () {get} {set}
FullName Property string FullName () {get}
Hotkey Property string Hotkey () {get} {set}
IconLocation Property string IconLocation () {get} {set}
RelativePath Property string RelativePath () {set}
TargetPath Property string TargetPath () {get} {set}
WindowStyle Property int WindowStyle () {get} {set}
WorkingDirectory Property string WorkingDirectory () {get} {set}
Shortcut.exeの他に、NirCmdのコマンドラインバージョンを使用してショートカットを作成することもできます。 http://nircmd.nirsoft.net/shortcut.html
Mklinkコマンドはどうですか? C:\ Windows\System32> mklinkシンボリックリンクを作成します。
MKLINK [[/ D] | [/ H] | [/ J]]リンク先
/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
私たちがここで行ったすべての議論の後で、これは私の提案された解決策です:ダウンロード: http://optimumx.com/download/Shortcut.Zip あなたのデスクトップでそれを抽出してください(例えば)。では、scrum.pdfというファイルのショートカットを作成したいとしましょう(これもデスクトップにあります)。
1。 CMDを開き、デスクトップフォルダに移動します
2。実行:Shortcut.exe /f:"%USERPROFILE%\Desktop\sc.lnk" /a:c /t:%USERPROFILE%\Desktop\scrum.pdf
それはあなたのデスクトップ上にオリジナルファイル(scrum.pdf)を指すsc.lnkと呼ばれるショートカットを作成するでしょう。
このトピックは古くからあると思いますが、私にとって効果的な簡単な解決策を提供したいと思いました。
最初に.icoファイルを自分のC:ドライブにコピーしました。それから私は私のデスクトップ上にショートカットを作成し、私のC:ドライブ上のicoファイルにアイコンを設定しました。私はそれから私のユーザーがアクセスできるネットワーク共有への.icoとショートカットの両方をコピーしました。そこでそこに私はユーザーのWindows 7のデスクトップにicoと.urlをコピーするために次のバッチファイルを書きました。これにより、すべてのユーザーのデスクトップにショートカットが作成され、ショートカットの作成時に設定したアイコンファイルが保持されます。これが誰かに役立つことを願っています。
@echo off
Copy "\\sharename\folder\icon.ico" "C:\"
pause
copy "\\sharename\folder\shortcut.url" "C:\Users\All Users\Desktop"
pause
この無料プログラムには必要な機能があります http://www.nirsoft.net/utils/nircmd2.html :(上記のWebページのサンプル)"Create a shortcut to Windows calculator under Start Menu->Programs->Calculators nircmd.exe shortcut "f:\winnt\system32\calc.exe" "~$folder.programs$\Calculators" "Windows Calculator"
試してみる私自身のサンプル:nircmd.exeショートカット "c:\ windows\system32\calc.exe" "〜$ folder.desktop $" "Windows Calculator"