IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Création d'un raccourci vers un dossier


Sujet :

VBScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 138
    Par défaut Création d'un raccourci vers un dossier
    Bonjour,

    Cela fait plusieurs jours que j'essaie par programmation de créer un raccourci vers un répertoire et impossible d'y arriver, je me résous à demander de l'aide aux spécialistes VB. Je précise qu'un raccourci vers un répertoire redirige vers le répertoire où il pointe lorsqu'on double-clique dessus. J'aimerais faire cela sous windows vista et windows seven.

    Dans mes recherches j'ai réussi à créer un raccourci vers un exécutable de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Shell, DesktopPath, lnk
    Set Shell = CreateObject("WScript.Shell")
    DesktopPath = Shell.SpecialFolders("Desktop")
    Set lnk = Shell.CreateShortcut(DesktopPath & "\Vlc.lnk")
    lnk.TargetPath = "C:\Program Files\VideoLAN\VLC\vlc.exe"
    lnk.Save
    Ce script marche il n'y a pas de problème, il s'agit d'un raccourci de type fichier. Par contre si à la place de l'instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lnk.TargetPath = "C:\Program Files\VideoLAN\VLC\vlc.exe"
    Je mets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lnk.TargetPath = "C:\Program Files\VideoLAN\VLC"
    Je n'obtiens pas un raccourci de type dossier comme je m'y attendais.

    Dans mes recherches je suis tombé sur des messages où on explique que pour créer un raccourci de type dossier, il faut créer un répertoire et à l'intérieur de celui-ci avoir un fichier desktop.ini avec comme contenu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [.ShellClassInfo]
    CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
    Flags=2
    également avoir un fichier target.lnk qui est un raccourci créé en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim Shell, lnk
    Set Shell = CreateObject("WScript.Shell")
    Set lnk = Shell.CreateShortcut("c:\repertoire_qui_deviendra_raccourci_de_type_dossier\target.lnk")
    lnk.TargetPath = "C:\Program Files\VideoLAN\VLC"
    lnk.Save
    et puis changer les attributs du répertoire avec la commande :
    attrib +s c:\repertoire_qui_deviendra_raccourci_de_type_dossier

    Ca n'a pas fonctionné et ça me parait bien compliqué juste pour créer un raccourci.

    Voilà, j'espère avoir bien tout expliqué et je suis à la recherche d'un script qui marche pour ce que j'ai besoin de faire.

    Merci

    Bon week-end.

  2. #2
    Membre confirmé Avatar de fabrice.s
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 120
    Par défaut
    Salut,

    Tu peux le faire en batch comme ça :

    http://www.developpez.net/forums/d42...-vers-fichier/

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut
    Citation Envoyé par toto828 Voir le message
    Bonjour,

    Cela fait plusieurs jours ......
    ......
    Je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lnk.TargetPath = "C:\Program Files\VideoLAN\VLC"
    Je n'obtiens pas un raccourci de type dossier comme je m'y attendais.
    .......
    Tu obtiens rien du tout ou quelque chose d'autre qu'un raccourci avec l'image d'un dossier ?
    Ton code fonctionne chez moi sous Windows 7 Édition Intégrale, session administrateur, se qui me laisse penser que tes droits ne sont pas suffisant pour t'autoriser la création du raccourci.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 138
    Par défaut
    Merci beaucoup pour ton aide. Ca m'a permit de trouver rapidement.

    ça y est j'ai réussi à le faire marcher, le problème est que j'exécutais ce script dans du java avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class Test {
    
      public static void main(String[] args) throws IOException {
    
        String script = "Set sh = CreateObject(\"WScript.Shell\")"
            + "\nSet shortcut = sh.CreateShortcut(\"C:/Users/toto828/Desktop/Shortcut.lnk\")"
            + "\nshortcut.TargetPath = \"C:/Program Files/VideoLAN/VLC\""
            + "\nshortcut.Save";
        
        File file = new File("C:/Users/toto828/Desktop/temp.vbs");
        FileOutputStream fo = new FileOutputStream(file);
        fo.write(script.getBytes());
        fo.close();
        Runtime.getRuntime().exec("wscript.exe " + file.getAbsolutePath() );
        
      }
      
    }
    J'obtenais un raccourci mais non de type dossier.

    En changeant mon code comme ceci, cela a fonctionné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class Test {
    
      public static void main(String[] args) throws IOException {
    
        String script = "Set sh = CreateObject(\"WScript.Shell\")"
            + "\nSet shortcut = sh.CreateShortcut(\"C:/Users/toto828/Desktop/Shortcut.lnk\")"
            + "\nshortcut.TargetPath = \"C:\\Program Files\\VideoLAN\\VLC\""
            + "\nshortcut.Save";
        
        File file = new File("C:/Users/toto828/Desktop/temp.vbs");
        FileOutputStream fo = new FileOutputStream(file);
        fo.write(script.getBytes());
        fo.close();
        Runtime.getRuntime().exec("wscript.exe " + file.getAbsolutePath() );
        
      }
      
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer un raccourci vers un dossier
    Par GCAccess dans le forum Général VBA
    Réponses: 3
    Dernier message: 21/12/2012, 11h01
  2. Btach Création raccourci vers bureau
    Par lemjid dans le forum XMLRAD
    Réponses: 0
    Dernier message: 23/05/2011, 11h24
  3. Création de raccourcis vers des dossiers
    Par xarkam dans le forum VBScript
    Réponses: 8
    Dernier message: 09/03/2009, 14h33
  4. Créer un raccourci vers un dossier
    Par krhyme dans le forum VBScript
    Réponses: 3
    Dernier message: 19/03/2008, 14h43
  5. raccourci vers un dossier
    Par Yves2507 dans le forum Access
    Réponses: 2
    Dernier message: 13/09/2006, 16h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo