Programları Windows 7'de gerçek bir .lnk dosyasını açmaya nasıl "ikna ederim"?


37

Bir .lnkWindows dosya başka dosyaya bir kısayol olması amaçlanmıştır gerçek bir dosyadır. Ancak, .lnkdosyanın içeriğini gerçekten görüntülemek istiyorum . Bunu tam anlamıyla imkansız buluyorum; Ne denersem deneyeyim, uygulamalarım işaret ettiği dosyanın içeriğini açıyor (metne veya hex editörüne sürükle / bırak, file | text veya hex editöründen aç, vb.)

Bir programa, işaret ettiği dosya yerine .lnk dosyasını açmasını gerçekten söylemememin bir yolu var mı ?


3
Her zaman .txt veya başka bir şey için yeniden adlandırabilirsiniz. Genellikle bu herhangi bir veriyi kaybetmesine neden olmaz.
Jon

1
@Chipperyman Bunun dışında işe yaramadı. .lnkDosyaları yeni bir uzantıyla kolayca yeniden adlandıramazsınız .
287352

Yanıtlar:


19

Kısayolları açma

Bir kısayolu düzenlemek için ilk önce onu açmanız gerekir ve bu zor olduğu ortaya çıkar. Gelen bazı durumlarda bir komut satırı argümanı kullanarak yükleme kısayol dosyalarının içine programlar zorlayabilirsiniz:

"X:\Path\to\program.exe" "X:\my shortcut.lnk"

Bağlantı hedefinin veya gerçek kısayol dosyasının yüklü olup olmadığı programa bağlıdır. İşte onları kutusundan çıkaran bazı ücretsiz hex editörlerinin listesi (belirli bir sıra ile değil):


Geçici çözüm

Bir kısayol dosyasının içeriğini yükleyemiyorsanız, bir komut istemi açabilir ve .lnkdosyayı aşağıdaki gibi farklı, var olmayan bir uzantı olarak yeniden adlandırabilirsiniz .lne:

cd /d "X:\Folder\containing\shortcuts"
ren "my shortcut.lnk" "my shortcut.lne"

Birden fazla dosyanız varsa, hepsini bir kerede yeniden adlandırabilirsiniz:

ren *.lnk *.lne

Daha sonra bu kısayolları normal dosyalar gibi kullanabileceksiniz. İşiniz bittiğinde, normal işlevlerini geri yüklemek için yeniden adlandırdığınızdan emin olun.


Ek bilgi

Bir kısayol veya kabuk bağlantısı , belirli bir bağlantı hedefine erişmek için kullanılan meta veri bilgilerini içerir . Windows kabuğu tarafından ayrıştırılır ve yorumlanır. Resmi belgelerden:

Kabuk bağlantı yapısı aşağıdakiler de dahil olmak üzere son kullanıcılar için yararlı olan çeşitli bilgileri depolar:

  • Bir uygulamayı başlatmak için kullanılabilecek bir klavye kısayolu.

  • Açıklayıcı bir yorum.

  • Uygulama davranışını kontrol eden ayarlar.

  • Ekstra veri bölümlerinde depolanan isteğe bağlı veriler .

Kaynak: [MS-SHLLINK]: Kabuk Bağlantısı (.LNK) İkili Dosya Biçimi - Genel Bakış

Kısayollar ikili dosyalar olarak saklanır ve standart bir metin editörü kullanılarak düzenlenemez. Tipik bir .lnkdosya dahili olarak şuna benzer:

00000000  4C 00 00 00 01 14 02 00 00 00 00 00 C0 00 00 00  L...........À...
00000010  00 00 00 46 DC 03 00 02 20 00 00 00 C6 EF 52 BE  ...FÜ... ...ÆïR¾
00000020  10 04 CA 01 C6 EF 52 BE 10 04 CA 01 60 45 8A 67  ..Ê.ÆïR¾..Ê.`EŠg
00000030  20 04 CA 01 00 9A 04 00 00 00 00 00 01 00 00 00   .Ê..š..........

İlk yirmi bayt her zaman aşağıdaki gibidir:

4C 00 00 00 01 14 02 00 00 00 00 00 C0 00 00 00 00 00 00 46

daha fazla okuma


HxD'yi kullanarak açmak, File | Openaslında .lnkdosyayı açmış görünüyor . Teşekkürler.
Jez

@Jez Bazı ekstra bilgiler içerecek şekilde gönderim güncellendi. Başka sorunuz olursa bana bildirin.
ve31415,

16

Bunu denedim ve Windows 8.1'de benim için çalışıyor:

LNKDosyaları Not Defteri'nde açma :

  • Sadece onları Not Defteri penceresine sürükleyip bırakın. Bunları Openiletişim kutusundan açarsanız, Not Defteri, EXEdosya tarafından gösterilen LNKdosyayı açar .

LNKDosyaları HxD hex editöründe açma :

  • Aç iletişim kutusunu kullanarak herhangi bir dosyayı olduğu gibi açın ( FileOpen)

LNKKomut istemini kullanarak dosyaları açma :

  • LNKDosyaları içeren klasöre gidin ve komutu yazın: TYPE SHORTCUTNAME.LNK

LNKHemen hemen herhangi bir programda dosyaları açma :

  • Komut istemini başlatın, programın bulunduğu klasöre gidin, şu komutu kullanın: PROGRAM_NAME.EXE "path to LNK file"

8

Bir .lnk dosyasının amacı, Windows'un başka bir dosyaya bağlantı oluşturmasıdır, bu yüzden düzenlemek zor olmalı !

Belki de niye düzenlemek istediğinizi açıklarsanız yardımcı olabilir. Bir .lnk dosyasının ayarlarını sağ tıklayıp Özellikler'i seçerek değiştirebilirsiniz .

Gerçekten düzenlemek istiyorsanız, özel bir araca ihtiyacınız vardır. Bunlardan birkaçı:

Not: Bunların hiçbirini denemedim, sadece Googled.

GÜNCELLEŞTİRME:

Bunu neden daha önce düşünmedim bilmiyorum ama özellikleri PowerShell ile düzenleyebilirsiniz. Gönderen Yığın taşması bu önceki cevabı :

Copy-Item $sourcepath $destination  ## Get the lnk we want to use as a template
$shell = New-Object -COM WScript.Shell
$shortcut = $shell.CreateShortcut($destination)  ## Open the lnk
$shortcut.TargetPath = "C:\path\to\new\exe.exe"  ## Make changes
$shortcut.Description = "Our new link"  ## This is the "Comment" field
$shortcut.Save()  ## Save

Bu, Shell COM nesnesini kullandığından, bunu WSH ile veya Office'te VBA ile de yapabilirsiniz!


2
İçeriğini, tercihen onaltılı bir düzenleyicide düzenlemek istiyorum, çünkü bozuk olabileceğini düşünüyorum ve içeriğini düzgün bir şekilde anlatmak için Explorer'a güvenmiyorum.
Jez,

Sanırım onu ​​yeniden yaratmanın ne oldu? Öyleyse, editörlerden birini deneyin, ancak neyin bozulacağından emin değilim.
Julian Knight

1
En azından Windows XP'de düzenlemek hiç bu kadar zor olmamıştı. Bir programı, bir sembolik bağlantıya benzer şekilde ele almaya ikna etmek zordu. Herhangi bir konsol uygulamasını çalıştırmak, örneğin edit, kısayol yolunun argümanıyla kısayol dosyasını açacaktır. Kısayola bir sembolik bağlantıya benzer şekilde davranan programlar kendilerini ayrıştırır (belki de kabuk işlevleriyle). Windows XP'den sonra kısayol gibi görünen sembolik bağlantıları kullanmaya başladı mı?
Ruslan

İlerlemenin bedeli! Çoğu uygulamanın görmezden geldiği bağlantıları tanımlayacak bir mekanizmaya sahip olmanın pek bir anlamı yoktur. .Lnk'in doğrudan düzenlemesi gereken pek çok neden olduğunu bilmiyorum.
Julian Knight

3
@JulianKnight İndeks işlevi gören bir klasöre yerleştirmek için programatik olarak onları oluşturmak için bir kez kullandım. Yazılım yüklemek için hiçbir hak kabul etmemeliydim, ancak zaten VBA kullanıyorduk. Bir şablonu değiştirmek .lnk sıfırdan bir tane oluşturmaktan daha kolay oldu.
Chris H,

4

.LNK dosyaları kabuk tarafından yorumlanır. Bir komut istemi açarsanız ve .LNK dosyasını argüman olarak kullanarak düzenleme aracınızı (örneğin, Not Defteri'ni söyleyelim) çağırırsanız, kabuğunu atlamalı ve .LNK dosyasının içeriğini açmalıdır.

notepad.exe shortcut.lnk

Hayır, bu işe yaramıyor. Bu, .lnknoktaları işaret ettiği dosyayı açar .
Jez,

Bağlantıyı hangi uygulamada açmaya çalışıyorsunuz?
Wes Sayeed

3
Bu yanlış. Bu cevabı denedim ve işe yarıyor.
Vinayak

3
@Vinayak Bu oldukça cesur bir ifade. Kullanmakta olduğunuz durumda sizin için işe yarayabilir, ancak Jez için çalışmayabilir.
Jon

1

Bir dosyayı link dosyasıyla bir parametre olarak çalıştırmak için CMD kullanıyorsanız , bu parametre programa iletilir. Bağlantıyı nasıl kullanacağınıza karar vermek programın sorumluluğundadır.

Bunu FRHED , freeware (ve taşınabilir) hex editörü ile test ettim : komut satırından çalıştırdığınızda, bir bağlantıyı parametre olarak geçirdiğinizde, bağlantıyı ( Yes ) ile bağlantılı dosyayı açmak isteyip istemediğinizi sorar. ( Hayır ) veya İptal .

İşin garibi, FRHED Dosya menüsünde Aç'ı kullanırsanız , hedef dosyayı sormadan açar.

XP'de ben var Frhed benim de SendTo bağlam menüsü ve aynı şekilde çalışır CMD . Win7'nin benzer olduğunu hayal ediyorum (özel bir uygulama için Win7 sistemi kullanıyorum ve yukarıdaki gibi basit testler yapacağım, ancak yapılandırmasını bozmuyorum).


1
Bu seni istemeyen Windows değil. Bu size ne yapacağınızı soran Frhed
Vinayak

Son derece doğru: aptal ben - Cevabımı değiştireceğim
AFH

Menümü içine Notepad koyarak SendToçok yararlı olması, Not Defteri'nde herhangi bir dosyayı (kısayollar dahil) açmama izin buluyorum .
Scott

Son (?) Gözlem: herhangi bir DOS-temelli görünüm veya düzenleme programı, her zaman, hiçbir zaman hedefi açmaz, çünkü DOS dosya açma fonksiyonu linkler hakkında hiçbir şey bilmez, bu nedenle, Windows dosyalarının aksine, özel bir işlem yapmaz. .
AFH

1

Bu tür dosyaları sık düzenlemek için nedenleriniz varsa, SendTo klasörünüze notepad.exe'ye bir kısayol ekleyin (Win 7: C: \ Users \ USER \ AppData \ Roaming \ Microsoft \ Windows \ SendTo). Bu, "Sendepad'e notepad.exe'yi Rt'nizden kullanılabilir duruma getirir. Bağlam menüsünü tıklayın. .İnk dosyası açılacak ve düzenlenebilir ve notepad.exe dosyasına kaydedilebilir.


0

.lnk dosyaları, Explorer.EXE gibi üst düzey bir bileşen kendilerine yönetim görevi verene kadar yalnızca dosyalardır. Daha düşük bir seviyede (NTFS), yine de veri akışı da dahil olmak üzere normal bir yapıya sahiptirler. Özellikle, içeriğin tamamı foo.lnk::$DATAakıştadır. Üst düzey araçların tümü bu sözdizimini tanımayacaktır. Sadece garip bir dosya adı olduğunu kabul edip geçerse, .lnk içeriğini alırlar.

Örneğin, komut satırında MORE < foo.lnk::$DATA > converileri yazdırır, ancak biraz saçma olur (parçalar ikilidir)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.