AUTORUN.INF: كيفية الحصول على حرف محرك الأقراص؟
سؤال
ولقد أضاف هذا دخول مينو سياق عصا USB عبر autorun.inf
:
[AutoRun]
shell\pageant=Activate SSH Key
shell\pageant\command=PuTTY\pageant.exe PuTTY\davids.ppk
وكلا PuTTY\pageant.exe
وPuTTY\davids.ppk
هي الملفات على عصا USB، وينبغي أن يتم انتقاؤها من هناك.
عند تشغيل هذه في قذيفة من أصل العصا يعمل على النحو المنشود. ولكن بدءا من القائمة فإنه يحاول تحميل المفتاح من C:\Windows\system32\PuTTY\davids.ppk
(محددة مع عملية مراقبة ).
ومحاولة استخدام برنامج نصي كمد بسيط أدى إلى هذا الإخراج:
C:\Windows\system32>cd PuTTY Das System kann den angegebenen Pfad nicht finden. C:\Windows\system32>pageant.exe davids.ppk Der Befehl "pageant.exe" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
هل هناك طريقة للحصول على هذا العمل صحيح؟ أعتقد أنه ينبغي أن تكون قادرة على تمرير حرف محرك الأقراص أو الحصول على اكسبلورر لاستخدام العصا كما دليل العمل، ولكن لا أعرف كيف. منذ أن كنت ترغب في استخدام عصا على الذهاب، وأنا أفضل أن تجنب hardcoding رسالتي محرك الأقراص المحلي.
المحلول
وأعتقد أن الحل الأسهل أن يكون لإنشاء ملف دفعي للقيام بذلك نيابة عنك. شيء اسمه activatekey.cmd
مثل هذا:
REM switch to the directory containing this script
for %%a in (%0) do cd /D %%~da%%~pa
cd PuTTY
pageant.exe davids.ppk
ضع activatekey.cmd
الملف في عصا USB الخاص بك، وتغيير autorun.inf
أن تكون:
[AutoRun]
shell\pageant=Activate SSH Key
shell\pageant\command=activatekey.cmd
نصائح أخرى
ويبدو أنه يقرأ "المسار" متغير النظام. :( يمكنك إضافة محرك الأقراص إلى مسار ولكن الحصول على حرف محرك الأقراص هي المشكلة :(.
وتحديث 1: يمكنك الحصول على حرف محرك الأقراص باستخدام برنامج نصي VB
وتحديث 2: نعم، أعتقد أنك تستطيع أن تفعل ذلك. تحقق هذا .
وتحديث 3: اختبرت النصي. إنه يعمل بشكل ممتاز.
Dim oDrive
Set oFSO = WScript.CreateObject("Scripting.FileSystemObject")
For Each oDrive In oFSO.Drives
WScript.Echo "Drive Letter" , oDrive.DriveLetter
WScript.Echo "Drive Type" , oDrive.DriveType
Next
استخدم بعض الملفات طريقة الاختيار الوجود لdifferenciate محركات الأقراص USB متعددة.