windows – CMDからショートカットを作成するには?

command-line shortcuts windows windows-xp

コマンドラインユーティリティを使用して、別のファイルや実行ファイルへのショートカットファイル(.lnk)を作成するにはどうすればよいですか?

  89  Shantanu  2012-02-20


ベストアンサー

このサイトには非常に有益な情報があります。http://ss64.com/nt/shortcut.html

どこかのリソースキットにshortcut.exeが入っているようですが、私が持っていないようです。 他の多くのサイトで言及されているように、バッチファイルから実行する方法は組み込まれていません

でも、VBスクリプトからでもできます

以下のVBscriptの任意の部分はコメントアウトされています

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

上記のスクリプトを実行すると、デスクトップに新しいショートカットが作成されます。 Resulting shortcut

以下、匿名の投稿者からのスニペットです(軽微な修正を加えて更新)

@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

60  Der Hochstapler  2012-02-20


ここに 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}

29  SmallClanger  2014-11-06


shortcut.exe以外にも、コマンドライン版のNirCmdでもショートカットを作成することができます。http://nircmd.nirsoft.net/shortcut.html

18  While Loop  2013-09-30


mklinkコマンドを使ってみませんか?C:\WindowsSystem32>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.

14  Mike  2014-04-24


我々はここで持っていたすべての議論の後、これは私の提案されたソリューションです:ダウンロードしてください。http://optimumx.com/download/Shortcut.zipデスクトップ上に解凍してください。さて、あなたがscrum.pdfというファイルのショートカットを作成したいとします(デスクトップにもあります):1. CMDを開き、デスクトップフォルダに移動します。Shortcut.exe /f:"%USERPROFILE%\Desktop\sc.lnk" /a:c /t:%USERPROFILE%\Desktop\scrum.pdf

そうすると、デスクトップ上に sc.lnk というショートカットが作成され、元のファイル (scrum.pdf) を指すようになります

7  Nir Alfasi  2012-02-20


Gitがインストールされている場合、コマンドラインからショートカットを作成できるcreate-shortcut.exeがバンドルされており、Windows 10で動作します。このユーティリティはAFAICTでは公開されていませんし、--helpは最小限のものです

Usage: create-shortcut.exe [options] <source> <destination>

しかし、Sysinternalsのstringsユーティリティを使って.exeから文字列を抽出することで、[options]とショートカットのPropertiesページに表示されているフィールドへのマッピングを何とかすることができました

--work-dir ('Start in' field)
--arguments (tacked onto the end of the 'Target')
--show-cmd (I presume this is the 'Run' droplist, values 'Normal window', 'Minimised', 'Maximised')
--icon-file (allows specifying the path to an icon file for the shortcut)
--description ('Comment' field)

Example usage:

REM If bin folder already in your PATH, omit CD line:
cd /d "C:\Program Files\Git\mingw64\bin"
create-shortcut.exe --work-dir "C:\path\to\files" --arguments "--myarg=myval" "C:\path\to\files\file.ext" "C:\path\to\shortcuts\shortcut.lnk"

stringsユーティリティは、Windows Vista、7、8、8.1、10とのアプリケーションの互換性も明らかにします

1  Jimadine  2020-07-24


このフリープログラムには必要な機能があります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 shortcut “c:\windowssystem32\calc.exe” “~$folder.desktop$” “Windows Calculator”

0  goldie  2015-04-12


私はこのトピックが古いことを知っているが、私は私のために働いたシンプルなソリューションを提供したいと思いました

まず、.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

0  Michele  2015-07-21


ステップ1:CMDファイルの場所を開きます

enter image description here


ステップ2:コマンドプロンプトのプロパティを右クリックして、このようにお気に入りのショートカットを設定します

enter image description here

0  gadolf  2020-01-24


タイトルとURLをコピーしました