2012-02-20 18:24:10 +0000 2012-02-20 18:24:10 +0000
81
81
Advertisement

Как сделать ярлык из CMD?

Advertisement

Как создать ярлык (.lnk) к другому файлу или исполняемому файлу, используя утилиты командной строки?

Advertisement

Ответы (8)

56
56
56
2012-02-20 20:06:04 +0000

На этом сайте есть очень полезная информация: 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

Так что, если вы действительно must сделать это, то вы можете заставить ваш пакетный файл записать 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
24
24
24
2014-11-06 18:05:38 +0000

Вот похожее решение с использованием 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}
```.
17
Advertisement
17
17
2013-09-30 23:24:55 +0000

Кроме shortcut.exe, вы также можете использовать версию командной строки NirCmd для создания ярлыка http://nircmd.nirsoft.net/shortcut.html .

12
12
12
2014-04-24 16:26:05 +0000

Как насчет использования команды 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.
7
Advertisement
7
7
2012-02-20 18:42:56 +0000

После всех обсуждений, которые у нас тут были, это мое предлагаемое решение: скачать: http://optimumx.com/download/Shortcut.zip распечатать на рабочем столе (например). Теперь, предположим, вы хотите создать ярлык для файла под названием scrum.pdf (также на рабочем столе): 1. откройте CMD и перейдите в папку рабочего стола 2. run: Shortcut.exe /f:"%USERPROFILE%\Desktop\sc.lnk" /a:c /t:%USERPROFILE%\Desktop\scrum.pdf

создаст ярлык под названием sc.lnk на вашем рабочем столе, который укажет на исходный файл (scrum.pdf).

0
0
0
2015-07-21 15:01:08 +0000

Я знаю, что эта тема старая, но я хотел предоставить простое решение, которое работало на меня.

я впервые скопировал файл .ico на свой диск C:. Затем я создал ярлык на рабочем столе и установил иконку на ico-файл на диске C:. Затем я скопировал и .ico и ярлык на сетевой ресурс, к которому у моих пользователей есть доступ. После этого я написал следующий пакетный файл, чтобы скопировать ico и .url на рабочий стол пользователей windows 7. Это создает ярлык на рабочем столе всех пользователей и сохраняет файл значка, который я установил при создании ярлыка. Надеюсь, это кому-нибудь поможет.

@echo off
Copy "\sharename\folder\icon.ico" "C:\"
pause
copy "\sharename\folder\shortcut.url" "C:\Users\All Users\Desktop"
pause
0
Advertisement
0
0
2015-04-12 19:14:32 +0000

Эта бесплатная программа имеет необходимую функциональность http://www.nirsoft.net/utils/nircmd2.html : (образец с указанной веб-страницы)"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”.

0
0
0
2020-01-24 16:58:48 +0000

Степ 1: Открыть расположение CMD-файла

  • *

Степ 2: Щелкните правой кнопкой мыши на свойствах Command Prompt, и установите любимый ярлык, как этот:

.

Похожие вопросы

3
19
10
28
1
Advertisement