Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

El comando Crear acceso directo trunca los nombres de carpeta de origen de ruta de acceso a ocho caracteres

Ha finalizado el soporte técnico para Windows XP

Microsoft puso fin al soporte técnico para Windows XP el 8 de abril de 2014. Este cambio ha afectado a las actualizaciones de software y las opciones de seguridad. Sepa qué significa esto en su caso y cómo puede mantenerse protegido.

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 263324
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Síntomas
Cuando crear accesos directos y especifique un nombre de archivo largos en la ruta de acceso de destino, la ruta de acceso se trunca si el disco duro para el destino no existe. Por ejemplo, crear un acceso directo con el siguiente destino:

J:\Mydirectory\Myapplication.exe

Si no existe la unidad J, se trunca la ruta de acceso:

J:\Mydirect\Mypplica.exe
Causa
Este problema puede ocurrir porque el shell no puede determinar si el disco duro admite nombres largos de archivo, por lo que la ruta de acceso se trunca a ser aceptable para todos los sistemas de archivo.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo.
Más información
Este problema puede ser observado cuando utilice cualquiera de los métodos siguientes para crear accesos directos:
  • Crear el instalador de Systems Management Server (SMS) método de acceso directo
  • El código VBScript Crear método de acceso directo
  • El método de interfaz IShellLink

SMS Installer Crear método de acceso directo


Un extracto de un archivo .ipf de SMS Installer que se muestra el problema:
item: Create Shortcut  Source English=X:\Pw32\Alongdirectory\Blongdirectory\Longfilename.exe  Destination English=C:\Winnt\Shortcut123.lnk  Key Type English=1536  Flags=00000001end				
si se compila una secuencia de comandos con esta extracción y ejecutarla después asegurado de que la unidad X no existe, puede observar que creó el acceso directo, pero la ruta de acceso de destino se trunca a:

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

Si conecta la unidad X con un recurso compartido o utilizar un comando subst para señalar a una unidad local y volver a ejecutar la secuencia de comandos, el acceso directo se crea con la ruta de destino correcto:

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

Este problema no está causado por SMS Installer. Este problema se produce porque el instalador de SMS utiliza la interfaz IShellLink (consulte "El método de interfaz de IShellLink") para crear accesos directos. SMS Installer pasa el nombre de ruta de acceso correcta completa a la interfaz IShellLink, pero la ruta de acceso se trunca cuando se realiza la operación IShellLink::SetPath.

El método VBScript crear acceso directo

Un ejemplo de VBScript que demuestra el problema:
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 = 1oShellLink.Hotkey = "CTRL+SHIFT+F"oShellLink.Description = "Long Filename Shortcut"oShellLink.Save				
al ejecutar esta secuencia de comandos y la unidad J no existe, puede observar el acceso directo creado, pero la ruta de acceso de destino es:

J:\My_long_\Myapplic.exe

Nota : los caracteres que normalmente no se admiten los sistemas de archivo que no desea nombres largos de archivo, como el carácter de espacio, se reemplazan por el símbolo de subrayado "_".

Para evitar este problema, puede utilizar el comando subst para seleccione la unidad J en un disco duro local:
set WshShell = WScript.CreateObject("WScript.Shell")Dim ret'subst a drive to make the mapping workret = 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 = 1oShellLink.Hotkey = "CTRL+SHIFT+F"oShellLink.Description = "Long Filename Shortcut"oShellLink.Save'remove the substret = WshShell.Run ("cmd /c subst j: /d", 0, TRUE)				
este comando puntos unidad J en la unidad C. Si la unidad C admite nombres largos de archivo, el comando crea un acceso directo con la siguiente ruta de destino:

J:\My directory\Myapplication.exe largo

Puede también utilizar WshNetwork.MapNetworkDrive para conectar unidad J en un recurso conocido, crear el acceso directo como se describe en los pasos anteriores y a continuación, quitar unidad J mediante WshNetwork.RemoveNetworkDrive.

El método de interfaz IShellLink

Un extracto de código que muestra el problema mediante la interfaz IShellLink en 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 debe utilizar para escribir el acceso directo en el disco. Esta acción da como resultado una ruta de destino de:

X:\Azertyui\Azertyui.exe

Este problema se produce en todas las versiones de Windows NT 4.0 y Windows 2000.

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 263324 - Última revisión: 12/05/2015 20:21:12 - Revisión: 3.3

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

  • kbnosurvey kbarchive kbmt kbnofix kbprb kbsms200presp3 kbui KB263324 KbMtes
Comentarios