Creation raccourcis avec du code batch

Fermé
palca - 15 sept. 2013 à 08:32
ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 - 15 sept. 2013 à 11:37
Bonjour,

pourriez vous me donner le code batch qui permet de creer un raccourci d'un fichier bat dans le menu de demarrage. cad aussi tot on lance le système d'exploitation que le fichier batch s'exécute

merci
A voir également:

1 réponse

ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 276
Modifié par ryko1820 le 15/09/2013 à 12:20
Hello,

wai bien sûr ;-)

Donc ce que tu veux, c'est bien un bat pour créer un raccourci pour un bat (dont tu ne nous donnes pas le nom) qui sera lancé à chaque démarrage ???

Voilà ce que je propose :

Le plus simple c'est de le faire en VBS (J'ai fait des installations complètes comme ça) mais comme tu voulais un bat, ça sera un bat qui crée dans le répertoire temporaire du système un script VBS qui est lancé dans la foulée puis effacé à la fin.

Ça devrait marcher partout (même Windows 95) ...

Librement inspiré de : MSDN : Reference (Windows Script Host) | CreateShortcut Method et de MSDN : Reference (Windows Script Host) | SpecialFolders Property

Editer les valeurs attribuées aux variables (SHORTCUT_NAME, BATCH_NAME, TMPSCRIPTNAME) en début du code pour correspondre à ses besoins ...

Le reste des info est dans le code ...

Remarque 1 : si le raccourci existe déjà ses propriétés sont éventuellement remplacées ;-) (si par exemple une propriété à été modifiée dans le code entre 2 lancement de ce batch)

Remarque 2 : si besoin de plus de propriétés pour le raccourci (comme d'une icone différentes de celle par défaut pour le type de cible par exemple), voir les liens fournis ou les propriétés mises en commentaire dans le code.

Dernière remarque : je ne suis pas responsable de l'usage qui pourrait être fait de ce script ;-)

@echo off
REM ********************************************
REM Quelques variables à changer (ou pas) !
REM ********************************************
REM ********************************************
REM Le nom que l'on souhaitera voir donné au raccourci (sans l'extension ".lnk") dans le répertoire "Démarrage"
SET SHORTCUT_NAME=Le raccourci qui tue
REM ********************************************
REM ********************************************
REM Le batch que l'on souhaite lancer à chaque démarrage (avec son chemin complet entre quotes)
REM Dans les propriétés du raccourci qui sera créé = cible du raccourci ...
SET BATCH_NAME="c:\mes_scripts\un_bat__se_qui_lance_a_chaque_demarrage.bat"
REM ********************************************
REM ********************************************
REM Le nom et le chemin du script.vbs qui va être créé (ici dans le répertoire %TEMP% du système)
SET TMPSCRIPTNAME="%TEMP%\my_tmp_script.vbs"
REM ********************************************
REM ********************************************

REM à retirer ou commenter (jusqu'à la pause) si on ne veut pas de message lors du lancement de ce batch
echo Cr'ation dans le r'pertoire "d'marrage" de l'utilisateur courant
echo du raccourci : "\%SHORTCUT_NAME%.lnk"
echo qui lancera ... chaque ouverture de session
echo le batch : %BATCH_NAME%
pause

echo set WshShell = WScript.CreateObject("WScript.Shell")>%TMPSCRIPTNAME%
echo strStartup = WshShell.SpecialFolders("Startup")>>%TMPSCRIPTNAME%
echo set oShellLink = WshShell.CreateShortcut(strStartup ^& "\%SHORTCUT_NAME%.lnk")>>%TMPSCRIPTNAME%
echo oShellLink.TargetPath = %BATCH_NAME%>>%TMPSCRIPTNAME%
echo oShellLink.Save>>%TMPSCRIPTNAME%

REM ********************************************
REM Ci-dessous plusieurs propriétés pouvant être affectées au raccorucis mais qui ne sont pas indispensables
REM ********************************************

REM si on veut affecter un raccourci clavier pour lancer le raccourci créé
REM echo oShellLink.Hotkey = "CTRL+SHIFT+F">>%TMPSCRIPTNAME%

REM si on souhaite attribuer une icone au raccourci créé (ici celle de notepad)
REM echo oShellLink.IconLocation = "notepad.exe, 0">>%TMPSCRIPTNAME%

REM si on souhaite affecter un commentaire dans les propriété du raccourci créé
REM echo oShellLink.Description = "Blabla blablabla">>%TMPSCRIPTNAME%

REM si on souhaite affecter un répertoire de travail à la cible du raccourci créé
REM Pour cette dernière propriété définir variable strWorkingDirectory pour le VBS
REM avec chemin de travail complet (pas testé !!!) par exemple :
REM echo set strWorkingDirectory='c:\mes_scripts\'>>%TMPSCRIPTNAME%
REM echo oShellLink.WorkingDirectory = strWorkingDirectory>>%TMPSCRIPTNAME%

REM ********************************************
REM ********************************************

call CSCRIPT.exe //B %TMPSCRIPTNAME%

REM "Del" à mettre en commentaire si on souhaite pouvoir visualiser dans %TEMP% (pour debug) le fichier %TMPSCRIPTNAME%
del %TMPSCRIPTNAME% > nul

Apparemment les caractères MSDOS spéciaux sont modifiés lorsque l'on colle du code ici, les messages produits dans la console par le code :

"echo Cr'ation dans le r'pertoire "d'marrage" de l'utilisateur courant
echo du raccourci : "\%SHORTCUT_NAME%.lnk"
echo qui lancera ... chaque ouverture de session
echo le batch : %BATCH_NAME%"

s'afficheront donc mal (les caractère accentués), alors utiliser un éditeur capable de corriger cela (ou virer ces messages qui ne servent pas a grand chose ...)

You may stop me but you can't stop us all ;-)
0