Příkaz Vytvořit zástupce zkrátí názvy zdrojová cesta složky na osm znaků

Překlady článku Překlady článku
ID článku: 263324 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Při vytváření zástupců a zadat dlouhý název souboru v cílové cestě cesta zkrácena, pokud pevný disk cílového neexistuje. Například vytvořit zástupce s následující cíle:

J:\Mydirectory\Myapplication.exe

Pokud jednotku J neexistuje, je cesta zkrácena na:

J:\Mydirect\Mypplica.exe

Příčina

Tento problém může nastat, protože prostředí nelze určit, zda pevný disk podporuje dlouhé názvy souborů, takže je cesta zkrácena na být přijatelná všechny systémy souborů.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku.

Další informace

Tento problém může být respektovat při použití libovolné z následujících metod k vytvoření zástupců:
  • Vytvořit instalační Systems Management Server (SMS) Metoda zástupců
  • Vytvořit zástupce metoda VBScript
  • Metoda rozhraní IShellLink

Vytvořit zástupce metoda SMS Installer


Extrahovat ze souboru .ipf SMS Installer, který demonstruje problém:
item: Create Shortcut
  Source English=X:\Pw32\Alongdirectory\Blongdirectory\Longfilename.exe
  Destination English=C:\Winnt\Shortcut123.lnk
  Key Type English=1536
  Flags=00000001
end
				
kompilace skriptu s Tento extrahovat a spustit po mít zajištěno jednotce X neexistuje, můžete sledovat zástupce vytvořen, ale cílová cesta je zkrácena:

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

Pokud připojení ke sdílené jednotce X nebo přejděte na místní jednotce a znovu spustíte skript pomocí příkazu subst zástupce vytvořen s správné cílové cestě:

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

Tento problém není způsoben SMS instalační službou. K tomuto problému dochází, protože používá instalační služba SMS rozhraní IShellLink (naleznete "The IShellLink rozhraní způsob") vytvořte zástupce. Instalační SMS předá rozhraní IShellLink název úplné správnou cestu, ale je cesta zkrácena při provádění operace IShellLink::SetPath.

Metoda VBScript vytvořit zástupce

Ukázkové VBScript demonstruje problém:
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
				
po spuštění tohoto skriptu a jednotku J neexistuje, můžete pozorovat vytvořeného zástupce, ale cílová cesta je:

J:\My_long_\Myapplic.exe

Poznámka: všechny znaky nejsou podporovány normálně systémy souborů, které nechcete dlouhé názvy souborů, například znak mezery nahrazeny symbol podtržení "_".

Chcete-li tento problém vyřešit, můžete použít příkaz subst jednotku J přejděte na místním pevném disku:
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)
				
tento příkaz body jednotka J jednotku c: Pokud jednotka C: podporuje dlouhé názvy souborů, vytvoří příkaz s následující cestu cílové zástupce:

Dlouhé directory\Myapplication.exe J:\My

Také pomocí WshNetwork.MapNetworkDrive připojit jednotku J známé sdílené položky, vytvořit zástupce, jak je popsáno v předchozí kroky a odeberte jednotku J pomocí WshNetwork.RemoveNetworkDrive.

Metoda rozhraní IShellLink

Extrahování kódu znázorňuje problém pomocí rozhraní IShellLink v 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");
				
, musí používat IPersistFile::Save zapsat místní disk. Tato akce způsobí cestu cíle:

X:\Azertyui\Azertyui.exe

K tomuto problému dochází ve všech verzích systému Windows NT 4.0 a Windows 2000.

Vlastnosti

ID článku: 263324 - Poslední aktualizace: 31. října 2006 - Revize: 3.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Systems Management Server 1.0 Standard Edition
  • Microsoft Systems Management Server Installer 2.0
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
Klíčová slova: 
kbmt kbnofix kbprb kbsms200presp3 kbui KB263324 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:263324

Dejte nám zpětnou vazbu

 

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