Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo utilizar .bat para crear accesos directos?

¿Cómo utilizar .bat para crear accesos directos?

Hoy Xiaofan te enseñará a bat a crear atajos. La primera opción es decirles a todos que bat por sí solo no puede crear atajos de enlace, pero puedes crear atajos de URL. Aprendamos el siguiente bat a crear atajos.

1. Método simple

Primero cree un acceso directo para el programa correspondiente a través de Windows y luego modifique el nombre del acceso directo generado automáticamente por el sistema, es decir, coloque el nombre del acceso directo en The. Se eliminan los espacios. Luego puede crear un archivo por lotes y usar el comando mover o copiar para completar.

Por ejemplo, si necesita crear un acceso directo en el escritorio para vnc.exe en el directorio tv en la unidad C, primero puede crear un acceso directo vnc.lnk para el programa a través del sistema Windows, luego crear un archivo bat y escribir el siguiente comando en el archivo:

cd %userprofile%\Desktop

copia c:vnc.lnk

O ingresa el siguiente comando:

cd %userprofile%\Desktop

mover c: vnc.lnk

O:

copiar QQ2010.lnk "%userprofile%\Desktop\QQ2010. lnk"

2. Un método un poco más complicado

Cree un archivo por lotes directamente e ingrese el siguiente comando en él (aún tomando "crear un acceso directo en el escritorio para vnc.exe en el directorio tv en la unidad C" como ejemplo):

set path=c: vnc.exe

set topath="%USERPROFILE%\Desktop\VNC.url"

echo [Acceso directo a Internet] >> %topath%

echo URL="%path%" >> %topath%

echo IconIndex=0 >> %topath %

echo IconFile=% path% >> %topath%

Crea VBS y vbs a través de BAT para crear accesos directos

Idea:

Idea: generar el código vbs a través de bat y luego llamar a WScript.exe para ejecutar el código relacionado

@echo

set ShortcutTargetPath="%~dp0%..\External\DEVENV. bat"

set ShortcutPath=" C:\Documents and Settings\lanx\Desktop\TCT.lnk"

set IconLocationPath="%VS80COMNTOOLS%..\IDE\devenv.exe ,3"

set HotKey= "CTRL+SHIFT+T"

echo Establecer WshShell=WScript.CreateObject("WScript.Shell") >>tmp.vbs

echo Set Shortcut=WshShell.CreateShortCut(%ShortcutPath %) >>tmp.vbs

echo Shortcut.Hotkey = %HotKey% >>tmp.vbs

echo Acceso directo. IconLocation=%IconLocationPath% >>tmp.vbs

echo Shortcut.TargetPath=%ShortcutTargetPath% >>tmp.vbs

echo Shortcut.Save >>tmp.vbs

"%SystemRoot%\System32\WScript.exe " tmp.vbs

@del /f /s /q tmp.vbs

Usa la API para crear

Escriba un programa para usar funciones API. El programa correspondiente crea accesos directos

para lograr el objetivo a través de la programación Shell, pero este método no es muy práctico en XP porque no es fácil obtener el directorios de escritorio de diferentes usuarios.

El siguiente es el código MFC:

HRESULT CttDlg::CreateShortcut(LPCSTR pszPathObj, LPSTR pszParam, LPSTR pszPath, LPSTR pszPathLink,LPSTR pszDesc)

{

HRESULT hres ;

IShellLink * psl ;

IPersistFile* ppf ;

WORD wsz[ 100] ;

CoInitialize(NULL);

p>

hres = (HRESULT)CoCreateInstance( CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void **) &psl);

if( FAILED( res))

{

CoUninitialize();

return FALSE ;

}

// establece la ruta al destino del acceso directo y agregue la descripción

psl -> SetPath(pszPathObj);

psl -> SetArguments( pszParam);

psl -> SetDescription(pszDesc );

psl -> SetWorkingDirectory(pszPath);

// consulta IShellLink para la interfaz IPersistFile para guardar el acceso directo en el almacenamiento persistente

hres = (HRESULT )(psl -> QueryInterface( IID_IPersistFile, (void **)&ppf)) ;

if( FAILED( hres))

{

CoUninitialize() ;

return FALSE ;

}

// asegúrese de que esa cadena sea ANSI

MultiByteToWideChar( CP_ACP, 0, pszPathLink, - 1, (LPWSTR)wsz, 100);

// guarda el enlace llamando a IPersistFile::Save

hres = ppf -> Save((LPCOLESTR)wsz, STGM_READWRITE) ;

// libera la interfaz IPersistFile

ppf ->Release();

// libera la interfaz IShellLink

psl -> Liberar();

CoUninitialize();

devolver hres ;

}