إعادة تهيئة ملف LNK ويندوز عن طريق برنامج نصي الآلي

StackOverflow https://stackoverflow.com/questions/342518

  •  19-08-2019
  •  | 
  •  

سؤال

المشكلة: هناك حفنة من ملفات .lnk على القرص C التي تشير إلى J: محرك الأقراص، ولكن J: ذهبت بالسيارة، وP: محرك حلت محل ذلك. وقد تم القيام به الحيل المختلفة للحصول على ملفات .lnk للا تزال تعمل على أي حال، ولكن الأمر يزداد مزعج، وحان الوقت لمجرد إصلاح الأمور.

وعن طريق روبي، بيثون، WSH.JScript أو بيرل، يمكنك تكرار خلال شجرة دليل كامل للملفات .lnk وتغييرها بحيث تشير إلى p: / * بدلا من ي: / *؟ كيف يمكنك أن تذهب نحو ذلك؟

ملاحظة: هذا ليس ما مجموعه مجهول بالنسبة لي، ولكن أنا أطرح السؤال على أي حال لأن API لإدارة ملفات .lnk في الطرق وجدتها حتى الآن يبدو مرهق للغاية أن يكون أشهرها طريقة للقيام بذلك. هذا هو واحد من تلك يائسة "هناك يجب أن تكون هناك طريقة أفضل" نوع الأسئلة.

هل كانت مفيدة؟

المحلول

في أدوات موارد WindowsNT هناك أداة سطر الأوامر تسمى Shortcut.exe أنني علم موثوق سوف تعمل تحت XP / 2000/2003 أيضا. يمكنك استخدام مجموعة متنوعة من رموز تبديل سطر الأوامر لتعديل الملفات الموجودة LNK للإشارة إلى اختصارات جديدة.

ولقد وجدت من المعلومات حول هذا الموضوع هنا: http://www.ss64.com/nt/shortcut.html

وأجرؤ على القول أنه لا يمكن أن يكون من الصعب جدا لملاحقة كيت WindowsNT الموارد على موقع مايكروسوفت واستخراجها. إنها أداة سطر الأوامر، لذلك يجب أن تكون قادرة على دفعة إلى حلقة عبر كافة الملفات LNK وتعديلها حتى انهم الصحيح.

نصائح أخرى

ولقد وجدنا هذا VB سيناريو الذي يعمل بشكل جيد.

http://www.enterpriseitplanet.com/resources/scripts_win/article فب / 3081941

وبعض التحذيرات:

وحذرا! تشغيله من جذر محرك الأقراص. إذا كنت اختبار على الجهاز الخاص بك، فإنك تخاطر الخارطه كل ما تبذلونه من اختصارات ويندوز - على سبيل المثال. تلك على قائمة ابدأ الخاصة بك! نحن تحرير النصي قليلا للحصول على مزيد من السيطرة بت (داخل منزل () طريقة):

   dim onlyFolder
    Set onlyFolder =fso.GetFolder("C:\") 
    SearchFolder onlyFolder

'   for each aDrive in fso.Drives       
'       if aDrive.DriveType = 2 then
'           SearchFolder aDrive.RootFolder
'       end if
'   next

وملف fixlinks.ini لا يحب خطوط فارغة، بل يجب أن يكون عدد زوجي من الخطوط.

وتشغيله في الخلفية وقد يطفو على السطح أخطاء إذن الدلائل الصعبة. ومن الصعب معرفة متى انتهائه، باستثناء نافذة التأكيد في نهاية المطاف. ربما يكون أفضل لإبقاء العين على ذلك في عملية اكسبلورر، وتشغيلها من قذيفة قيادة كمسؤول على ويندوز فيستا / الخ.

وبخلاف ذلك، عمل عظيم!

وببساطة استخدام LNK محلل ملف في <م> J.A.F.A.T. أرشيف المشروع أدوات تحليل الطب الشرعي .

وانظر lnk-parse-1.0.pl على http://jafat.sourceforge.net

ويبدو ليس لديهم أي تبعيات (والمادية ويندوز خصوصا لا فظيعة). بناء الجملة بسيطة وملف ارتباط يصبح نص بسيط في مستوى الانتاج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top