Desde Vista y posterior funciona este código:
Vista/Windows7
Código:
@Echo off
REM <<<< Crea acceso directo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo Set oWS = WScript.CreateObject("WScript.Shell") > %~dp0CreateShortcut.vbs
echo sLinkFile = "%userprofile%\Desktop\Notepad.lnk" >> %~dp0CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %~dp0CreateShortcut.vbs
echo oLink.TargetPath = "%systemroot%\System32\Notepad.exe" >> %~dp0CreateShortcut.vbs
echo oLink.Save >> %~dp0CreateShortcut.vbs
cscript %~dp0CreateShortcut.vbs
del %~dp0CreateShortcut.vbs
REM >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
XP [DEVUELVE ACCESO DENEGADO ( y como Administrador)]
Código:
@Echo off
REM <<<< Crea acceso directo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo Set oWS = WScript.CreateObject("WScript.Shell") > %~dp0CreateShortcut.vbs
echo sLinkFile = "%userprofile%\Escritorio\Notepad.lnk" >> %~dp0CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %~dp0CreateShortcut.vbs
echo oLink.TargetPath = "%systemroot%\System32\Notepad.exe" >> %~dp0CreateShortcut.vbs
echo oLink.Save >> %~dp0CreateShortcut.vbs
cscript %~dp0CreateShortcut.vbs
del %~dp0CreateShortcut.vbs
REM >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Gracias
He hecho un prueba creando un paquete de instalación con WinRAR, de modo que se ejecute como administrador. En tal caso, si que funciona. ¿Como puedo ejecutarlo como Administrador directamente?, ya que realmente lo ejecuto desde una cuenta con privilegios de administrador. No entiendo porqué me da Acceso denegado..
[SOLUCIONADO]
Ya lo he solucionado quitando %~dp0 y cambiando el directorio mediante PUSHD.
Ahora funciona en ambos sistemas y en Administrador o No adeministrador
Código:
REM <<<< Crea acceso directo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
PUSHD %APPPATH%
echo Set oWS = WScript.CreateObject("WScript.Shell") > CreateShortcut.vbs
echo sLinkFile = "%userprofile%\Escritorio\Notepad.lnk" >> CreateShortcut.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> CreateShortcut.vbs
echo oLink.TargetPath = "%systemroot%\System32\Notepad.exe" >> CreateShortcut.vbs
echo oLink.Save >> CreateShortcut.vbs
cscript CreateShortcut.vbs
del CreateShortcut.vbs
REM >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>