.lnk
Plików w systemie Windows jest plik rzeczywista ma być skrótem do innego pliku. Jednak naprawdę chcę wyświetlić zawartość .lnk
samego pliku. Uważam, że jest to dosłownie niemożliwe; bez względu na to, co próbuję, moje aplikacje otwierają zawartość pliku, na który wskazuje (przeciągnij / upuść do edytora tekstowego lub szesnastkowego, plik | otwórz z edytora tekstowego lub szesnastkowego itp.)
Czy jest jakiś sposób, w jaki mogę powiedzieć programowi, aby faktycznie otworzył plik .lnk zamiast pliku, na który wskazuje?
.lnk
plików z nowym rozszerzeniem.Odpowiedzi:
Skróty otwierające
Aby edytować skrót, oczywiście najpierw musisz go otworzyć, a to okazuje się trudne. W niektórych przypadkach możesz zmusić programy do ładowania plików skrótów za pomocą argumentu wiersza poleceń:
Jednak to, czy ładowany jest link docelowy, czy rzeczywisty plik skrótu, zależy od programu. Oto lista (w dowolnej kolejności) niektórych darmowych edytorów szesnastkowych, które obsługują je po wyjęciu z pudełka:
HxD
Otwórz okno dialogowe Tak
Drag-and-drop Nie
XVI32 , Hex Editor Neo bezpłatny , Tiny Wiedźmin , wxHexEditor , Hex Editor MX , Frhed
Otwórz okno dialogowe Nie
Przeciągnij i upuść Tak
Obejście
Jeśli nie możesz załadować zawartości pliku skrótu, możesz otworzyć wiersz polecenia i zmienić nazwę
.lnk
pliku na inne, nieistniejące rozszerzenie, takie jak.lne
:Jeśli masz wiele plików, możesz zmienić ich nazwy jednocześnie:
Będziesz wtedy mógł traktować te skróty jak zwykłe pliki. Po zakończeniu zmień ich nazwy, aby przywrócić ich zwykłą funkcjonalność.
Dodatkowe informacje
Skrót lub link do powłoki zawiera informacje o metadanych używanych do uzyskania dostępu do określonego celu linku . Jest analizowany i interpretowany przez powłokę systemu Windows. Z oficjalnej dokumentacji:
Skróty są przechowywane jako pliki binarne i nie można ich edytować za pomocą standardowego edytora tekstu. Typowy
.lnk
plik wygląda wewnętrznie mniej więcej tak:Pierwsze dwadzieścia bajtów to zawsze następujące:
Dalsza lektura
źródło
File | Open
Wygląda na to, że użycie HxD do otwarcia.lnk
pliku faktycznie otworzyło plik. Dzięki.Próbowałem tego i działa dla mnie w systemie Windows 8.1:
Otwieranie
LNK
plików w Notatniku:Open
oknie dialogowym, Notatnik otworzyEXE
plik wskazany przezLNK
plik.Otwieranie
LNK
plików w edytorze szesnastkowym HxD :File
→Open
)Otwieranie
LNK
plików za pomocą wiersza polecenia:LNK
pliki i wpisz polecenie:TYPE SHORTCUTNAME.LNK
Otwieranie
LNK
plików w dowolnym programie:PROGRAM_NAME.EXE "path to LNK file"
źródło
Cały plik .lnk ma na celu traktowanie systemu Windows jako łącza do innego pliku, więc jego edytowanie powinno być trudne!
Być może pomogłoby to, gdybyś opisał DLACZEGO chcesz go edytować. Możesz zmienić ustawienia pliku .lnk, klikając prawym przyciskiem myszy i wybierając Właściwości .
Jeśli naprawdę chcesz go edytować, potrzebujesz specjalnego narzędzia. Istnieje kilka z nich, w tym:
NB: Nie próbowałem żadnego z nich, po prostu googlowałem.
AKTUALIZACJA:
Nie wiem, dlaczego wcześniej o tym nie myślałem, ale możesz edytować właściwości za pomocą PowerShell. Z poprzedniej odpowiedzi na temat przepełnienia stosu :
Ponieważ używa to obiektu Shell COM, możesz to zrobić za pomocą WSH, a nawet VBA w pakiecie Office!
źródło
edit
Z argumentem ścieżki do skrótu, otworzy plik skrótu. Programy, które traktują skrót podobnie do dowiązania symbolicznego, parsują go same (być może za pomocą funkcji powłoki). Czy system Windows uciekł się do używania dowiązań symbolicznych wyglądających jak skróty po XP?Pliki .LNK są interpretowane przez powłokę. Jeśli otworzysz wiersz polecenia i uruchomisz narzędzie do edycji (powiedzmy na przykład Notatnik), używając pliku .LNK jako argumentu, to powinno ominąć powłokę i otworzyć zawartość samego pliku .LNK.
źródło
.lnk
wskazuje.Jeśli używasz CMD do uruchomienia programu z plikiem łącza jako parametrem, parametr ten jest przekazywany dosłownie do programu. To program decyduje, jak obsłużyć łącze.
Przetestowałem to z FRHED , darmowym (i przenośnym) edytorem szesnastkowym: po uruchomieniu go z wiersza poleceń, przekazując link jako parametr, pojawia się monit, czy chcesz otworzyć plik połączony z ( Tak ), samym linkiem ( Nie ) lub Anuluj .
Dziwne, jeśli użyjesz Otwórz w menu Plik FRHED , otwiera plik docelowy bez pytania.
Na XP mam FRHED w moim SendTo menu kontekstowego, a to działa w ten sam sposób jak CMD . Wyobrażam sobie, że Win7 jest podobny (używam systemu Win7 do dedykowanej aplikacji i przeprowadzę na nim proste testy, jak wyżej, ale nie mam kłopotów z jego konfiguracją).
źródło
SendTo
menu jest bardzo przydatne, pozwalając mi otwierać dowolny plik (w tym skróty) w Notatniku.Jeśli masz powód, aby często edytować takie pliki, dodaj skrót do notepad.exe do folderu SendTo (w Win 7: C: \ Users \ USER \ AppData \ Roaming \ Microsoft \ Windows \ SendTo). To sprawia, że „Send to notepad.exe” jest dostępny w twoim Rt. Kliknij menu kontekstowe. Plik .ink otworzy się, można go edytować i zapisać w Notatniku.exe.
źródło
Pliki .lnk są tylko plikami, dopóki komponent wyższego poziomu, taki jak Explorer.EXE, nie przypisze im maning. Na niższym poziomie (NTFS) nadal mają normalną strukturę, w tym strumień danych. W szczególności cała zawartość znajduje się w
foo.lnk::$DATA
strumieniu. Nie wszystkie narzędzia wyższego poziomu rozpoznają tę składnię. Jeśli tylko założą, że to dziwna nazwa pliku i przekażą ją dalej, otrzymają zawartość .lnk.Np. W wierszu poleceń
MORE < foo.lnk::$DATA > con
wydrukowałby dane, ale to trochę bełkot (części są binarne)źródło