Raccourci ms dos

Résolu
berthelotn Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   -  
 jml -
Bonjour,

j'aimerais créer un script en dos me permettant de créer des raccourci de l'ecteur réseaux sur mon bureau

(le probleme ne vient pas de la creation des lecteur reseaux mais plutot pour generer les racccourcis)

d'avance merci

13 réponses

BeFaX Messages postés 14245 Date d'inscription   Statut Contributeur Dernière intervention   3 825
 
Oui, tu peux l'utiliser avec, et c'est même très pratique !

Je te donne le code parfait pour créer un raccourci en bat puis je t'explique comment ça fonctionne :

@echo off
echo Set oWS = WScript.CreateObject("WScript.Shell") >>lnk.vbs
echo sLinkFile = "C:\Jeux.lnk" >>lnk.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >>lnk.vbs
echo oLink.TargetPath = "C:\Jeux\" >>lnk.vbs
echo oLink.Save >>lnk.vbs
start /WAIT lnk.vbs
del lnk.vbs


Tu mets ce code dans un fichier .BAT

Donc :
La première ligne sert à ne pas afficher les commandes dans la fenêtre DOS.
La commande ECHO affiche du texte en sortie.
Si on rajoute à la fin de cette commande ECHO le signe >> cela veut dire que l'on veut écrire notre texte dans un fichier, ici on veut écrire donc un fichier .VBS donc on rajoute >>lnk.vbs (lnk.vbs est un exemple).

Donc les 5 premières lignes (sans compter @echo off) vont écrire du texte dans un fichier.
Le fichier ressemblera donc à ceci :
LNK.VBS :
Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = "C:\Jeux.lnk"
Set oLink = oWS.CreateShortcut(sLinkFile)
oLink.TargetPath = "C:\jeux\"
oLink.Save


Et ce fichier ainsi créé va nous permettre de créer le raccourci défini ici :
sLinkFile = "C:\Jeux.lnk" avec comme cible oLink.TargetPath = "C:\Jeux\"
A toi de changer ce qui est en gras.

J'en reviens à la fin du code :
La ligne start /WAIT lnk.vbs permet de lancer le fichier que l'on vient de créer et d'attendre (/WAIT) qu'il soit terminé avant de passer à la prochaine commande qui est del lnk.vbs , et donc qui supprime notre petit fichier lnk.vbs qui ne nous sert plus à rien car le raccourci à été créé quand on a lancé le fichier :).

J'espère avoir été clair :).

N'hésites pas à me poser des questions, j'adore le BATCH ^^.
13
jml
 
Merci pour le code et les explications.
Petite question: Que faire si %USERPROFILE% contient des accents dans l'instruction :
echo oLink.TargetPath = %USERPROFILE%\Jeux >>lnk.vbs
en effet, dans la propriété du raccourci, les accents ne sont pas traduits !!!!

Bien à vous,
J-M Lambert
***@***
0
BeFaX Messages postés 14245 Date d'inscription   Statut Contributeur Dernière intervention   3 825
 
Tu peux créer un raccourci avec du VBS, voici le code :

Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = "C:\Ton_Raccourci.lnk"
Set oLink = oWS.CreateShortcut(sLinkFile)
oLink.TargetPath = "C:\La_Cible_Du_Raccourci\"
oLink.Save
1
berthelotn Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   11
 
merci beacoup cependant je ne suis pas famillié avec vbs.
je n'est besoin que d'un fichier txt en changeant l'extention en vbs?

je peux appeler du vbs aparti de .bat.?

car ma requette n'est qu'une partie d'un projet et une bonne partie est deja et en batch je ne me voit pas tout recommencer
0
berthelotn Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   11
 
merci pour tout mais j'ai resolu mon probleme.

( un fichier avec les raccourcis lecteur deja creer à la main )

comme c'est un script de demarage un copier coller suffit

c'est pas beau je sais mais tampis

si quelqu'un connait une solution plus "classe" en batch je sui preneur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
berthelotn Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   11
 
merci beaucoup je vais tester tout ça
0
berthelotn Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   11
 
merci ça marche sans probleme et meme pour les lecteurs réseau
0
berthelotn Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   11
 
dernier question

pourquoi cela ne marche pas?

@echo off

echo Set oWS = WScript.CreateObject("WScript.Shell") >>lnk.vbs
echo sLinkFile = %1 >>lnk.vbs rem erreur
echo Set oLink = oWS.CreateShortcut(sLinkFile) >>lnk.vbs
echo oLink.TargetPath = "c:\jeux" >>lnk.vbs
echo oLink.Save >>lnk.vbs
start /WAIT lnk.vbs
del lnk.vbs

j'aimerais fair un script generalisé avec variable mais cela plante

merci d'avance
0
BeFaX Messages postés 14245 Date d'inscription   Statut Contributeur Dernière intervention   3 825
 
Ca ne marche pas surement à cause de ceci :
echo sLinkFile = %1 >>lnk.vbs

Tu as rajouté %1, ce qui signifie que tu veux le lancer en ligne de commande non ?
Tu peux aussi déclarer les variables avant le script :

@echo off
set cible="C:\jeux\"
set nom="C:\Jeux.lnk"

echo Set oWS = WScript.CreateObject("WScript.Shell") >>lnk.vbs
echo sLinkFile = %nom% >>lnk.vbs
echo Set oLink = oWS.CreateShortcut(sLinkFile) >>lnk.vbs
echo oLink.TargetPath = %cible% >>lnk.vbs
echo oLink.Save >>lnk.vbs
start /WAIT lnk.vbs
del lnk.vbs
0
berthelotn Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   11
 
oui mais je désirais le lancer avec des parametres

mais te prend pas la tete j'ai reglé mon probleme

merci beaucoup pour ton aide
0
BeFaX Messages postés 14245 Date d'inscription   Statut Contributeur Dernière intervention   3 825
 
Donne moi ton code, et ce que tu veux faire, j'essaierai de l'arranger :).
0
berthelotn Messages postés 122 Date d'inscription   Statut Membre Dernière intervention   11
 
tu est sympa mai te prend pas la tête j'ai regler mon pobleme j'ai fini d'utiliser le scripte


mais juste pour info je voulai faire çà

echo Set oWS = WScript.CreateObject("WScript.Shell") >>lnk.vbs
echo sLinkFile = %2 >>lnk.vbs rem erreur
echo Set oLink = oWS.CreateShortcut(sLinkFile) >>lnk.vbs
echo oLink.TargetPath = %1 >>lnk.vbs
echo oLink.Save >>lnk.vbs
start /WAIT lnk.vbs
del lnk.vbs

et l'appeler comme cela en cmd

test.bat "source du fichier" "raccourci"

en gros que cela soit automatique pour qu'aprés lorsque je voudrais appeler mon fichier test.bat dans un autre fichier bash que jai juste a faire

call test.bat argument 1 argument 2
call test.bat argument 3 argument 4


dans le but de creer plusieur raccourcis

mais mon probleme est regler merci quand meme
0
BeFaX Messages postés 14245 Date d'inscription   Statut Contributeur Dernière intervention   3 825
 
Ok, pas de problèmes :).
Si tu rencontre d'autres soucis, n'hésites pas.
0
BeFaX Messages postés 14245 Date d'inscription   Statut Contributeur Dernière intervention   3 825
 
Cool, j'attendais de tes nouvelles :).
-2