Windows의 명령 프롬프트에서 .LNK 단축키를 어떻게 구문 분석 할 수 있습니까? 바로 가기의 대상 위치로

폴더 바로 가기가 있으며 명령 프롬프트에서 폴더를 열고 싶습니다. 명령 프롬프트가 바로 가기의 대상 위치로 즉시 변경되기를 원합니다. 대신 명령 프롬프트에서 바로 가기를 실행하려고하면 Windows 탐색기에서 폴더가 열립니다.

명령 프롬프트에서 바로 가기 파일 (.LNK)을 구문 분석하고 바로 가기의 대상 폴더로 전환하려면 어떻게해야합니까?



답변

CMD를 시작할 때 C : \ Users \ dave>가 표시되지만 cd ../../를 누르지 않고 디렉토리를 C : \ wamp \ www로 변경하고 싶습니다. 그래서 ‘dave’폴더에 ‘www’폴더의 바로 가기를 만들었습니다.

이것은 전형적인 XY 문제 입니다. CMD가 항상 기본값 대신 특정 디렉토리에서 열리도록하려면 다음과 같이 바로 가기 속성을 변경하기 만하면됩니다.

Windows 7에서 명령 프롬프트 바로 가기는 일반적으로에 Start Menu > All Programs > Accessories있으므로 바로 가기를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 시작 필드를 원하는대로 편집하십시오 .


단일 행이 포함 된 d.bat와 같은 배치 파일을 만들 수도 있습니다 cd /d c:\wamp\www. 배치 파일을 경로 어딘가에 배치하면 이제 CMD를 열고 d 를 입력 하여 특정 디렉토리로 변경하면됩니다. 더 많은 유사한 솔루션도 있습니다.


명령 프롬프트에서 바로 가기 (.LNK) 파일을 구문 분석 할 수없는 경우 다음을 ParseLnk.bat 로 저장하고 명령 프롬프트에서 다음과 같이 실행하십시오 ParseLnk <LNK File>.

@echo off
echo set WshShell = WScript.CreateObject("WScript.Shell")>Tmp.vbs
echo set Lnk = WshShell.Createshortcut(WScript.Arguments(0))>>Tmp.vbs
echo WScript.Echo Lnk.TargetPath>>Tmp.vbs
for /f "delims=" %%d in ('cscript //nologo Tmp.vbs "%~1"') do del Tmp.vbs & cd /d "%%d"

답변

문제는 .lnk 파일이 docx 파일이 Word 등에서 처리되는 것처럼 Explorer.exe 프로그램으로 해석되는 문서라고 생각합니다. lnk 파일을 구문 분석하고 cd 명령을 실행하려면 일종의 스크립트를 작성해야합니다.

기본 제공, 타사 또는 자신이 작성할 수있는 cmdlet 중 하나를 통해 PowerShell (명령 프롬프트와 달리)에서 원하는 작업을 수행 할 수 있지만 모르겠습니다.


답변

명령 프롬프트 만 사용하여 .lnk 파일을 해독하고 싶은 사람 이이 질문에 도달하면 다음을 시도하십시오.

type mylink.lnk|find "\"