Membuat Shortcut perintah memotong nama folder sumber jalan hingga delapan karakter

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 263324 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

GEJALA

Ketika Anda membuat cara pintas dan tentukan nama file yang panjang di path target, jalan dipotong jika pengandar perangkat keras untuk target tidak ada. Sebagai contoh, membuat shortcut dengan target berikut:

J:\Mydirectory\Myapplication.exe

Jika drive j tidak ada, jalan dipotong ke:

J:\Mydirect\Mypplica.exe

PENYEBAB

Masalah ini dapat terjadi karena shell tidak dapat menentukan Apakah hard disk mendukung nama file yang panjang, sehingga jalan dipotong menjadi dapat diterima untuk semua sistem file.

STATUS

Microsoft telah mengkonfirmasi bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana didaftar pada awal artikel ini.

INFORMASI LEBIH LANJUT

Masalah ini dapat diamati ketika Anda menggunakan salah satu metode berikut untuk membuat cara pintas:
  • Systems Management Server (SMS) Installer membuat Pintasan metode
  • VBScript membuat Shortcut metode
  • Metode IShellLink antarmuka

SMS Installer membuat Shortcut metode


Ekstrak dari berkas .ipf SMS Installer yang menunjukkan masalah:
item: Create Shortcut
  Source English=X:\Pw32\Alongdirectory\Blongdirectory\Longfilename.exe
  Destination English=C:\Winnt\Shortcut123.lnk
  Key Type English=1536
  Flags=00000001
end
				
Jika Anda mengkompilasi sebuah skrip dengan ekstrak ini dan Anda menjalankannya Anda telah memastikan bahwa drive x tidak ada, Anda bisa mengamati bahwa cara pintas dibuat, tapi target jalan dipotong ke:

X:\Pw32\Alongdir\Blongdir\Longfile.exe

Jika Anda menghubungkan drive x untuk berbagi atau menggunakan SUBST perintah untuk menunjuk ke drive lokal dan menjalankan script lagi, pintasan yang dibuat dengan path target benar:

X:\Pw32\Alongdirectory\Blongdirectory\Longfilename.exe

Masalah ini tidak disebabkan oleh SMS Installer. Masalah ini terjadi karena SMS Installer menggunakan antarmuka IShellLink (lihat "The IShellLink antarmuka Metode") untuk membuat cara pintas. SMS Installer melewati jalan yang penuh benar nama untuk antarmuka IShellLink, tapi jalan dipotong ketika Operasi IShellLink::SetPath dilakukan.

Metode VBScript membuat Shortcut

Sampel VBScript yang menunjukkan masalah:
set WshShell = WScript.CreateObject("WScript.Shell")
set oShellLink = WshShell.CreateShortcut("d:\" & "\Long filename Shortcut .lnk")
oShellLink.TargetPath = "j:\my long directory\myapplication.exe"
oShellLink.WindowStyle = 1
oShellLink.Hotkey = "CTRL+SHIFT+F"
oShellLink.Description = "Long Filename Shortcut"
oShellLink.Save
				
Ketika Anda menjalankan script ini dan drive j tidak ada, Anda bisa mengamati pintasan yang dibuat, tapi target path adalah:

J:\My_long_\Myapplic.exe

CATATAN: Setiap karakter yang tidak biasanya didukung oleh sistem file yang tidak ingin nama file yang panjang, seperti karakter ruang, digantikan oleh garis bawah simbol "_".

Untuk mengatasi masalah ini, Anda dapat menggunakan The SUBST perintah untuk menunjuk drive j ke disk lokal:
set WshShell = WScript.CreateObject("WScript.Shell")
Dim ret
'subst a drive to make the mapping work
ret = WshShell.Run ("cmd /c subst j: c:\", 0, TRUE)
set oShellLink = WshShell.CreateShortcut("d:\" & "\Long filename Shortcut .lnk")
oShellLink.TargetPath = "j:\my long directory\myapplication.exe"
oShellLink.WindowStyle = 1
oShellLink.Hotkey = "CTRL+SHIFT+F"
oShellLink.Description = "Long Filename Shortcut"
oShellLink.Save
'remove the subst
ret = WshShell.Run ("cmd /c subst j: /d", 0, TRUE)
				
Perintah ini poin drive j untuk kandar C. Jika pengandar c mendukung file yang panjang nama, perintah menciptakan jalan pintas dengan path target berikut:

J:\My lama directory\Myapplication.exe

Anda juga dapat menggunakan WshNetwork.MapNetworkDrive untuk menghubungkan drive j berbagi dikenal, membuat Pintasan seperti diuraikan dalam langkah-langkah sebelumnya, dan kemudian menghapus drive j dengan menggunakan WshNetwork.RemoveNetworkDrive.

Metode IShellLink antarmuka

Ekstrak dari kode yang menunjukkan masalah dengan menggunakan IShellLink antarmuka di Microsoft Visual C++:
HRESULT hres; 

IShellLink* psl; 
 
    // Get a pointer to the IShellLink interface. 
    hres = CoCreateInstance(CLSID_ShellLink, NULL, 
        CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID *) &psl); 
    if (SUCCEEDED(hres)) { 
        IPersistFile* ppf; 
 
        // Set the path to the shortcut target and add the 
        // description. 
        hres = psl->SetPath("X:\\azertyuiop\\azertyuiop.exe");
				
Anda harus menggunakan IPersistFile::Save untuk menulis cara pintas ke disk. Ini tindakan hasil di jalan sasaran:

X:\Azertyui\Azertyui.exe

Masalah ini terjadi pada semua versi Windows NT 4.0 dan Windows 2000.

Properti

ID Artikel: 263324 - Kajian Terakhir: 22 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
Kata kunci: 
kbnofix kbprb kbsms200presp3 kbui kbmt KB263324 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:263324

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com