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

Scripts/Batch Discussion :

Rechercher un fichier puis créer son raccourci dans le Menu Démarrer [Batch]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Rechercher un fichier puis créer son raccourci dans le Menu Démarrer
    à tous !

    Je galère pour créer un batch qui devra :

    1) rechercher un fichier précis dans tous les sous-répertoires d'un dossier existant

    2) créer un raccourci vers ce fichier dans un autre dossier existant

    Sur l'étape de recherche
    On connaît bien le nom du fichier recherché, ici nommé "applicationportable.exe", mais on ne connaît pas le nom du dossier où il se trouve. Le processus de recherche ne sera pas très long, car on connaît le nom du dossier parent.
    En plus, le batch se trouvera sur le dossier racine du même lecteur, ce qui facilite la portabilité du batch.

    Sur l'étape de création de raccourci
    Je ne trouve pas comment programmer la création d'un raccourci (en cmd.bat, pas en script.vbs), pourtant, apparemment ça existe.

    Pour programmer son déplacement j'imagine qu'il faudra utiliser xcopy, mais sa syntaxe dépendra des étapes précédentes, selon si on doit utiliser telle ou telle variable.

    Voilà donc mes balbutiements en batch :
    ; ---------------------------------------------------------
    for /r ".\PortableApps\Sous-dossier de nom inconnu" in (applicationportable.exe)

    REM ici le dossier où le fichier a été trouvé = %p%

    if exist do set %p%:\" set Vr=%p%

    Créer Raccourci vers ".\PortableApps\%p%\"applicationportable.exe"

    xcopy .\PortableApps\Sous-dossier de nom inconnu"\%p%\"applicationportable.lnk C:\Documents~1\%username%\Bureau\Menu~1\Programmes\D,marrage

    del .\PortableApps\Sous-dossier de nom inconnu"\%p%\"applicationportable.lnk

    echo merci d'avoir lu ça, cher internaute
    ;-------------------------------------------

    Quelqu'un saurait-il comment faire ?

    Peut-être existe-t-il un batch tout prêt pour ça, vu que ça serait très pratique dans de nombreuses situations...

    Si vous aviez des remarques, ça aiderait sûrement...
    ______________________

    REPONSE A VOS REPONSES
    ______________________

    Merci I'm_HERE et Acris !
    Je suis un peu perplexe...
    Je n'arrive pas à utiliser le code de I'm_HERE...
    Et la solution d'Acris semble judicieuse, mais elle dépend d'un programme externe, pas du pur batch. Le fait d'avoir à ajouter un dossier avec nircmd peut compliquer, voire invalider les opérations (bloqué par secpol.msc chez certains utilisateurs, au bureau), mais c'est déjà ça !

    J'utilisais déjà NirCmd pour des choses très simples. Merci beaucoup de m'avoir fait penser à lui ! Quand même, sur gougueule, si on tape NirCmd, on tombe sur des dizaines de messages concernant les virus troyens qui l'exploitent. Ça pourrait faire peur aux utilisateurs de mon batch...

    Si je ne trouve pas mieux, alors je m'y mettrais avec nircmd. Mais il faudra au moins qu'il existe un tuto en français ou une traduction des commandes et paramètres de NirCmd, et c'est pas gagné d'avance.

    Voilà ou j'en suis maintenant. Quelqu'un trouvera-t-il où est mon erreur ?

    @echo "Sachant que applicationportable.exe est quelque part dans un sous-dossier de .\PortableApps\"

    @echo "Lancer la recherche puis en afficher le résultat en surbrillance via explorer.exe"
    Set "applicationportable.exe=conf.tmp"
    set "Chemin=.\PortableApps"
    pushd "%.\PortableApps%"
    for /f "tokens=*" %%i In ('dir/b/a-d/s "%applicationportable.exe%"2^>nul') do set "Ch=%%i"
    popd
    if defined Ch (explorer.exe /e,/select,"%Ch%")

    @echo "J'ai surement mal inscrit mes parametres, pourtant je teste bien differentes combinaisons..."

    @echo "SECOND VOLET : CREATION D'UN RACCOURCI"

    @echo "Creer un raccourci VERS LE FICHIER TROUVÉ JUSTE AVANT dans un dossier precis"
    @echo "Cher Acris, faut-il avoir mis nircmd.exe dans le dossier du batch ?"
    @echo "Si oui, me faudra-t-il apprendre a configurer nircmd.exe auparavant ?"

    nircmd shortcut "%.\PortableApps%\%%i" "~$folder.desktop$" "%%~ni"

    @echo "Voici d'autres variables que j'aimerais utiliser au besoin"
    @echo "nircmd shortcut "%.\PortableApps%\%%i" "~$%username%$" "%%~ni"
    @echo "folder.start_menu Cible le Menu Demarrer de l'utilisateur"
    @echo "folder.programs Cible la Liste des Programmes du Menu Demarrer de l'utilisateur"
    @echo "folder.startup Cible le Dossier Demarrage de l'utilisateur (=lancer a chaque ouverture de session windows)"

    @echo "pour trouver d'autres variables nircmd : http://www.nirsoft.net/utils/nircmd2.html#using"

    pause

  2. #2
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Points : 247
    Points
    247
    Par défaut
    Bonjour
    pour créer un raccourcis tu peux utiliser la commande externe nircmd.exe
    J'ai crée un bat qui permet de créer des raccourcis à partir de ma clé usb sur mon bureau donc c est sans doute possible dans ton cas

    dans mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nircmd shortcut "%chemin%\%%i" "~$folder.desktop$" "%%~ni"
    variables possibles :
    folder.desktop Represents the user's desktop folder.
    folder.start_menu Represents the user's start-menu folder.
    folder.programs Represents the user's programs folder (under the start-menu folder).
    folder.startup Represents the user's startup folder.

    voir la suite des variables : http://www.nirsoft.net/utils/nircmd2.html#using

  4. #4
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    salut,

    Acris à répondu à ta 2e question moi je répondrai à la première, bien que la réponse était dans le lien que je t'ai donné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set "fichier=conf.tmp"
    set "Chemin=C:\ADMIN"
    pushd "%Chemin%"
    for /f "tokens=*" %%a In ('dir/b/a-d/s "%fichier%"2^>nul') do set "Ch=%%a"
    popd
    if defined Ch (explorer.exe /e,/select,"%Ch%")

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

Discussions similaires

  1. [WD18] Créer Raccourci dans le menu Démarrer/Démarrage
    Par PierreXV dans le forum WinDev
    Réponses: 1
    Dernier message: 24/04/2015, 16h07
  2. Réponses: 3
    Dernier message: 06/12/2010, 15h16
  3. Raccourci dans le Menu Démarrer et Bureau
    Par Kerod dans le forum Dreamshield
    Réponses: 9
    Dernier message: 12/02/2008, 04h08
  4. Créer un raccourci dans Démarrage
    Par Montron dans le forum Langage
    Réponses: 4
    Dernier message: 25/04/2006, 22h55
  5. Réponses: 14
    Dernier message: 13/10/2005, 12h55

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