¿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: p>
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 ;
}