Η εντολή Δημιουργία συντόμευσης περικόπτει τα ονόματα προέλευσης διαδρομή φακέλου σε οκτώ χαρακτήρες

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 263324 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Όταν δημιουργείτε συντομεύσεις και καθορίστε ένα μεγάλο όνομα αρχείου σε η διαδρομή προορισμού, η διαδρομή περικόπτεται αν δεν έχει σκληρό δίσκο για τον προορισμό υπάρχει. Για παράδειγμα, μπορείτε να δημιουργήσετε μια συντόμευση με τον ακόλουθο προορισμό:

J:\Mydirectory\Myapplication.exe

Εάν η μονάδα δίσκου j δεν υπάρχει, η διαδρομή περικόπτεται σε:

J:\Mydirect\Mypplica.exe

Αιτία

Αυτό το ζήτημα μπορεί να προκύψει επειδή δεν μπορεί να προσδιορίσει το κέλυφος Εάν ο σκληρός δίσκος υποστηρίζει μεγάλα ονόματα αρχείων, έτσι η διαδρομή περικόπτεται σε να αποδεκτή από όλα τα συστήματα αρχείων.

Κατάσταση

Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα στα προϊόντα της Microsoft που παρατίθενται στην αρχή αυτού του άρθρου.

Περισσότερες πληροφορίες

Αυτό το ζήτημα ενδέχεται να παρατηρηθεί όταν χρησιμοποιείτε οποιαδήποτε από τις παρακάτω μεθόδους για να δημιουργήσετε συντομεύσεις:
  • Δημιουργία του Installer συστήματα Management Server (SMS) Μέθοδος συντόμευσης
  • Το VBScript Δημιουργία συντόμευσης μέθοδος
  • Η μέθοδος διασύνδεσης IShellLink

Το πρόγραμμα εγκατάστασης του SMS δημιουργία συντόμευσης μέθοδος


Απόσπασμα από το αρχείο .ipf εγκατάστασης SMS που παρουσιάζει το πρόβλημα:
item: Create Shortcut
  Source English=X:\Pw32\Alongdirectory\Blongdirectory\Longfilename.exe
  Destination English=C:\Winnt\Shortcut123.lnk
  Key Type English=1536
  Flags=00000001
end
				
Εάν μεταγλωττίσετε μια δέσμη ενεργειών με το εκχύλισμα αυτό και εκτελείτε έχετε εξασφαλίσει ότι δεν υπάρχει μονάδα δίσκου X, μπορείτε να παρατηρήσετε που τη συντόμευση δημιουργείται, αλλά η διαδρομή προορισμού έχει περικοπεί σε:

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

Εάν η μονάδα Χ για να συνδεθείτε σε μοιραστείτε ή να χρησιμοποιήσετε μιαsubstεντολή ώστε να οδηγεί σε μια τοπική μονάδα δίσκου και να εκτελέσετε ξανά τη δέσμη ενεργειών θα δημιουργηθεί μια συντόμευση με τη διαδρομή προορισμού σωστά:

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

Αυτό το ζήτημα δεν προκαλείται από το πρόγραμμα εγκατάστασης του SMS. Αυτό το ζήτημα παρουσιάζεται επειδή ο SMS Πρόγραμμα Εγκατάστασης χρησιμοποιεί τη διασύνδεση IShellLink (αναφέρονται σε περιβάλλον το IShellLink βάσης δεδομένων" Η μέθοδος") για να δημιουργήσετε συντομεύσεις. Το πρόγραμμα εγκατάστασης του SMS μεταβιβάζει την πλήρη και σωστή διαδρομή το όνομα της διασύνδεσης IShellLink, αλλά η διαδρομή περικόπτεται κατά την Εκτελείται η λειτουργία IShellLink::SetPath.

Η μέθοδος VBScript Δημιουργία συντόμευσης

Ένα δείγμα VBScript που παρουσιάζει το πρόβλημα:
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
				
Όταν εκτελείτε αυτήν τη δέσμη ενεργειών και δεν υπάρχει μονάδα δίσκου J, μπορείτε να παρατηρήσετε η συντόμευση που δημιουργήθηκε, αλλά η διαδρομή προορισμού είναι:

J:\My_long_\Myapplic.exe

ΣΗΜΕΊΩΣΗ: Συστήματα αρχείων οι χαρακτήρες που δεν υποστηρίζονται κανονικά από που δεν θέλετε να αντικαθίσταται από μεγάλα ονόματα αρχείων, όπως το κενό διάστημα, το σύμβολο υπογράμμισης "_".

Για να επιλύσετε αυτό το ζήτημα, μπορείτε να χρησιμοποιήσετε τοsubstεντολή σημείο μονάδα δίσκου j σε έναν τοπικό σκληρό δίσκο:
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)
				
Η εντολή αυτή οδηγεί μονάδα δίσκου j στη μονάδα δίσκου C. Εάν η μονάδα δίσκου c υποστηρίζει μεγάλο αρχείο ονόματα, η εντολή δημιουργεί μια συντόμευση με την παρακάτω διαδρομή προορισμού:

J:\My μεγάλη directory\Myapplication.exe

Μπορείτε επίσης να χρησιμοποιήσετε Δημιουργία WshNetwork.MapNetworkDrive με μονάδα δίσκου j γνωστά κοινόχρηστο στοιχείο, το συντόμευση ως που περιγράφονται στα προηγούμενα βήματα και κατόπιν καταργήστε γράμμα j με χρήση WshNetwork.RemoveNetworkDrive.

Η μέθοδος διασύνδεσης IShellLink

Απόσπασμα κώδικα που παρουσιάζει το πρόβλημα, χρησιμοποιώντας το Διασύνδεση IShellLink στο 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");
				
IPersistFile::Save πρέπει να χρησιμοποιήσετε για να γράψετε τη συντόμευση στο δίσκο. Αυτό η ενέργεια έχει ως αποτέλεσμα μια διαδρομή προορισμού:

X:\Azertyui\Azertyui.exe

Αυτό το ζήτημα παρουσιάζεται σε όλες τις εκδόσεις του Τα Windows NT 4.0 και Windows 2000.

Ιδιότητες

Αναγν. άρθρου: 263324 - Τελευταία αναθεώρηση: Πέμπτη, 27 Ιανουαρίου 2011 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
Λέξεις-κλειδιά: 
kbnofix kbprb kbsms200presp3 kbui kbmt KB263324 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:263324

Αποστολή σχολίων

 

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