파워셸을 사용하여 바로 가기(.lnk) 파일의 대상 가져오기
.lnk 파일이 많이 있어서 바로 가기가 가리키는 대상에 따라 다르게 처리해야 합니다.저는 다른 언어를 사용하는 방법을 거의 찾지 못했습니다. 하지만 파워셸을 사용하는 것에 대해서는 아무것도 모릅니다.
시도해 본 적이 있습니다.
$sh = New-Object -COM WScript.Shell
$target = $sh.CreateShortcut('<path>').Target
그러나 .lnk 속성에서 Target이 지정된 것을 확인할 수 있더라도 빈 문자열을 반환합니다.
어떻게 해야 할지 생각나는 거 있어요?
속성에 오류가 있습니다. wOxxOm에서 제안하는 것처럼 다음을 사용해야 합니다.TargetPath
보다는Target
:
$sh = New-Object -ComObject WScript.Shell
$target = $sh.CreateShortcut('<full-path-to-shortcut>').TargetPath
Google과 MSDN은 여기서 실제로 도움이 되었습니다. 추가적으로, 대상을 배관합니다.Get-Member
종종 유용하고 교육적일 수 있습니다.이 질문에서는 PowerShell을 사용하여 바로 가기를 조작하는 방법에 대해서도 설명하며 여기에 나와 있는 것과 동일한 방법을 사용합니다.
실행 파일에 대한 인수도 원하는 경우 다음과 같이 별도로 저장됩니다.
$arguments = $sh.CreateShortcut('<full-path-to-shortcut>').Arguments
다시, 대상을 파이프로 연결Get-Member
이 경우, 반환된 객체는WScript.Shell.CreateShortcut()
유용한 정보를 제공합니다.
경로에 유니코드 이모지 문자가 포함된 경우 이 기술과 이러한 호출을 사용하는 데 문제가 있습니다. 이 스택 오버플로 질문에는 이 경우에 대한 해결 방법이 있습니다.
전문가들에게는 분명해 보일 수 있지만, 단순한 사람들에게는 중요한 전구 순간이 여기에 있는 것처럼 보입니다.
<full-path-to-shortcut>
풀 네임!도!
사용해야 합니다..FullName
을 이용하면Get_ChildItem | ForEach-Object
셸이 있는 등.CreateShortcut
단축키의 현재 대상을 원하는 경우 호출합니다.나를 위한:
.CreateShortcut($_.FullName)
적절한 값을 반환한 반면,.CreateShortcut($_)
반환된 'discovery'
언급URL : https://stackoverflow.com/questions/42762122/get-target-of-shortcut-lnk-file-with-powershell
'programing' 카테고리의 다른 글
JS에서 모든 Firefox 버전 검색 (0) | 2023.08.21 |
---|---|
'div'의 알려진 속성이 아니므로 'target'에 바인딩할 수 없습니다. (0) | 2023.08.21 |
PowerShell을 사용하여 클래스를 작성할 수 있습니까? (0) | 2023.08.21 |
C#의 SQL Server 데이터베이스에서 데이터를 검색하는 방법은 무엇입니까? (0) | 2023.08.21 |
스위프트 배열에서 모든 영 요소를 제거하려면 어떻게 해야 합니까? (0) | 2023.08.16 |