.lnk
명령 줄 유틸리티를 사용하여 다른 파일이나 실행 파일에 대한 바로 가기 파일 ( )을 어떻게 만들 수 있습니까?
(.ink file)
혼란 스러워서 추가했다 . Shantanu의 의견을 반영하여 질문을 수정했습니다. '바로 가기'를 만드는 방법을 제공하지만이 특정 질문에 대답하지는 않습니다.
.lnk
명령 줄 유틸리티를 사용하여 다른 파일이나 실행 파일에 대한 바로 가기 파일 ( )을 어떻게 만들 수 있습니까?
(.ink file)
혼란 스러워서 추가했다 . Shantanu의 의견을 반영하여 질문을 수정했습니다. '바로 가기'를 만드는 방법을 제공하지만이 특정 질문에 대답하지는 않습니다.
답변:
이 사이트에는 다음과 같은 유용한 정보가 있습니다 : 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
위의 스크립트를 실행하면 바탕 화면에 새로운 바로 가기가 생성됩니다.
다음은 익명의 기고자 (사소한 수정으로 업데이트 됨)의 더 완전한 스 니펫입니다.
@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
SET Esc_LinkTarget=%0
다음 당신은 제거 할 필요가 "
에서echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^(!Esc_LinkTarget!^)
Wscript.Arguments
명령 행 인수를 얻는 데 사용 하는 것이 훨씬 낫습니다 ... lol
다음은 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라는 바로 가기가 생성됩니다.
이 무료 프로그램에는 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 Calculator"
나는이 주제가 오래되었다는 것을 알고 있지만 나를 위해 일한 간단한 솔루션을 제공하고 싶었습니다.
먼저 .ico 파일을 C : 드라이브에 복사했습니다. 그런 다음 바탕 화면에 바로 가기를 만들고 아이콘을 C : 드라이브의 ico 파일로 설정했습니다. 그런 다음 .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