Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[Résolu]notepad++ dans le %path%
Auteur Message
Répondre en citant
Message [Résolu]notepad++ dans le %path% 
Bonsoir

pouvez vous me dire si celà est bon

dans mes codes batch, souvent j'ajoute

start /w note pad

bien sur c'est le bloc note qui s'ouvre, c'est normal

mais aujourd'hui , je préfère travailler avec notepad++ pour une question de colorisation du texte.

voici mon petit code , pour ajoute notepad++ dans le path

Citation:

@echo off

title notepad++ dans le path
@echo.
rem ajouter notepad++ dans le %path%
rem le chemin complet de notepad++.exe dans une variable
set notepad++=L:\note-pad\Notepad++\notepad++.exe

@echo.
rem notepad++ inclus dans le path
PATH=%PATH%;%notepad++%

pause>nul
@exit


mais si je distribue mon code à quelqu'un et que dedans , tout le mode n'ait pas notepad++.exe dans le path

il me faudrait mettre notepad
ceci m'oblige pour moi personnellement à cette modification

exemple : notepad.exe en notepad.exe.old
et de transformer notepad++.exe en notepad.exe
ou plus simple faire une modif pour le distribuer.


pour moi ce soir, pouvez me confirmer si le code est bon, je ne veux pas tester de peur de faire une concété.

merci pour votre aide



Dernière édition par migau le Lun 31 Jan 2011 - 15:55; édité 1 fois

______________________________________________________
à plus

migau
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Résolu]notepad++ dans le %path% 
Salut,

Rapport à ton code, tu as une légère boulette :

Code:
PATH=%PATH%;%notepad++%


Il te faut ajouter SET pour redéfinir le PATH soit

Code:
SET PATH=%PATH%;%notepad++%



Pour ta question :
Citation:
l me faudrait mettre notepad
ceci m'oblige pour moi personnellement à cette modification

exemple : notepad.exe en notepad.exe.old
et de transformer notepad++.exe en notepad.exe
ou plus simple faire une modif pour le distribuer.

notepad.exe se trouve déjà dans un dossier système C:\Windows donc en fait tu n'as rien à faire pour notepad.

Du coup au final il faudrait conditionner ton code sur l'existence du fichier L:\note-pad\Notepad++\notepad++.exe

Mais bon, en même temps ça ne sera pas super propre niveau code sachant qu'un utilisateur peut installer le programme où bon lui semble.

Par contre, il est malgré tout possible de récupérer le dossier d'installation dans cette clé :
[code]HKEY_LOCAL_MACHINE\SOFTWARE\Notepad++[/quote]

Soit elle existe elle te retournera la valeur (par défaut) qui contient le nom du dossier d'installation.

Soit elle n'existe pas ce qui t'informera que Notepad++ n'est pas installé sur la machine
Smile



Répondre en citant
Message [Résolu]notepad++ dans le %path% 
hello

TopXm a écrit:


Salut,

Rapport à ton code, tu as une légère boulette :

Code:
PATH=%PATH%;%notepad++%


Il te faut ajouter SET pour redéfinir le PATH soit

Code:
SET PATH=%PATH%;%notepad++%



oups !!! mea culpa

set pour définir une variable
set /a pour mettre un nombre dans une variable
set / p pour entrer une valeur à la variable

Citation:


TopXm a écrit:

Pour ta question :
Citation:
l me faudrait mettre notepad
ceci m'oblige pour moi personnellement à cette modification

exemple : notepad.exe en notepad.exe.old
et de transformer notepad++.exe en notepad.exe
ou plus simple faire une modif pour le distribuer.


notepad.exe se trouve déjà dans un dossier système C:\Windows donc en fait tu n'as rien à faire pour notepad.

Du coup au final il faudrait conditionner ton code sur l'existence du fichier L:\note-pad\Notepad++\notepad++.exe

Mais bon, en même temps ça ne sera pas super propre niveau code sachant qu'un utilisateur peut installer le programme où bon lui semble.

Par contre, il est malgré tout possible de récupérer le dossier d'installation dans cette clé :
[code]HKEY_LOCAL_MACHINE\SOFTWARE\Notepad++


Soit elle existe elle te retournera la valeur (par défaut) qui contient le nom du dossier d'installation.

Soit elle n'existe pas ce qui t'informera que Notepad++ n'est pas installé sur la machine
Smile


ok, il faut que récupèrer le dossier d'installation par une boucle for

avec un reg query ou un reg export , il faut que je trouve lequel choisir


et ensuite se servir des IF exist ou if not exist




du genre

if exist %le chemin de note pad++\notepad++.exe%


start /w %le chemin de note pad++\notepad++.exe%

if not exist %le chemin de note pad++\notepad++.exe%

start /w notepad

il me faut chercher maintenant comment faire.

à bientôt avec une 1ere ébauche




______________________________________________________
à plus

migau
Visiter le site web du posteur
Répondre en citant
Message [Résolu]notepad++ dans le %path% 
bonjour à tous


j'ai avancé un peu dans mon code

je sèche

je n'arrive pas à lancer notepad++.exe

et je n'arrive pas non plus à faire fonctionner le "if"

voilà mon code

un petit coup de pouce, merci .



Citation:


@echo off
mode con cols=80 lines=20 | color 1F
rem titre du script
title liste a afficher

echo. &echo.

rem chercher le chemin de notepad++
rem le chemin exact sur mon pc est L:\note-pad\Notepad++
for /F "tokens=4,*" %%A in ('reg query "HKEY_LOCAL_MACHINE\Software\Notepad++"') do echo %%A



if exist "%%A" goto suite
if not exist "%%A" goto blocnote


:suite
start /w %%A\notepad++.exe

:blocnote
start /w notepad


pause>nul

@exit

[/quote]




______________________________________________________
à plus

migau
Visiter le site web du posteur
Répondre en citant
Message [Résolu]notepad++ dans le %path% 
Coucou
je regarde demain

L:\note-pad\Notepad++
c'est un notepad++ installé sur un partition ? ou une version portable utilisé sur clé usb ?




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]notepad++ dans le %path% 
Laddy a écrit:
Coucou
je regarde demain

L:\note-pad\Notepad++
c'est un notepad++ installé sur un partition ? ou une version portable utilisé sur clé usb ?


bonsoir installé sur la partition L:

voilà un début

Citation:


@echo off
mode con cols=80 lines=20 | color 1F
rem titre du script
title liste a afficher

echo. &echo.

rem chercher le chemin de notepad++
rem le chemin exact sur mon pc est L:\note-pad\Notepad++
for /F "tokens=4,*" %%A in ('reg query "HKEY_LOCAL_MACHINE\Software\Notepad++"') do set notepad=%%A


start /w %notepad%\notepad++.exe

pause

@exit


maintenant il me faut :
*recuperer l'executable notepad++.exe
*parametrer les IF maintenant.

bonne soirée




______________________________________________________
à plus

migau
Visiter le site web du posteur
Répondre en citant
Message [Résolu]notepad++ dans le %path% 
Bonjour migau

si le logiciel est installé sur une partition ou sur le disque dur je suis passé par la clé Uninstall.

Code:

@echo off
mode con cols=80 lines=20 | color 1F
rem titre du script
title liste a afficher

echo. &echo.

rem chercher le chemin de notepad++
rem le chemin exact sur mon pc est L:\note-pad\Notepad++

REM Déclaration des variables
set rapport=test.txt
Set Uninstall=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Notepad++

::Lecture de la clé Uninstall
For /F "Tokens=2,*" %%A in ('REG query "%Uninstall%" ^|Find "DisplayIcon" 2^>NUL') do If exist %%B (start /w "%%B" %rapport%) Else (notepad.exe %rapport%)

@exit





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]notepad++ dans le %path% 
Bonjour Laddy

merci pour ton aide.

j'ai compris pourquoi tu passes par la clé "uninstall ", l'exécutable "notepad++.exe" y est présent, dans la clé que j'utilisais, il fallait l'ajouter manuellement

For /F "Tokens=2,*" %%A in ('REG query "%Uninstall%" ^|Find "DisplayIcon" 2^>NUL') do If exist %%B

dans le " tokens" tu mets 2 et tu modifies la variable d'entrée %%A en sortie par %%B
pourquoi?

en mettant 3 dans le tokens , je garde la variable %%A

y a t'il une raison particulière?

après "DisplayIcon" tu mets 2 avec ^>

peux tu me l'expliquer?

petites questions

Laddy a écrit:
Bonjour migau

si le logiciel est installé sur une partition ou sur le disque dur je suis passé par la clé Uninstall.

Code:

@echo off
mode con cols=80 lines=20 | color 1F
rem titre du script
title liste a afficher

echo. &echo.

rem chercher le chemin de notepad++
rem le chemin exact sur mon pc est L:\note-pad\Notepad++

REM Déclaration des variables
set rapport=test.txt
Set Uninstall=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Notepad++

::Lecture de la clé Uninstall
For /F "Tokens=2,*" %%A in ('REG query "%Uninstall%" ^|Find "DisplayIcon" 2^>NUL') do If exist %%B (start /w "%%B" %rapport%) Else (notepad.exe %rapport%)

@exit



si je veux désinstaller notepad++ en batch

je ferai comme celà

For /F "Tokens=2,*" %%A in ('REG query "%Uninstall%" ^|Find "UninstallString" 2^>NUL') do start / wait "%%B"

évidemmnent, je n'ai pas testé

y a t'il un commutateur à start pour valider la commande ?


je n'ai pas trouvé par cmd star /?
merci pour toutes ces réponses




______________________________________________________
à plus

migau
Visiter le site web du posteur
Répondre en citant
Message [Résolu]notepad++ dans le %path% 
migau a écrit:
Bonjour Laddy

merci pour ton aide.

j'ai compris pourquoi tu passes par la clé "uninstall ", l'exécutable "notepad++.exe" y est présent, dans la clé que j'utilisais, il fallait l'ajouter manuellement

For /F "Tokens=2,*" %%A in ('REG query "%Uninstall%" ^|Find "DisplayIcon" 2^>NUL') do If exist %%B

dans le " tokens" tu mets 2 et tu modifies la variable d'entrée %%A en sortie par %%B
pourquoi?

en mettant 3 dans le tokens , je garde la variable %%A

ça m'étonne que tu obtiennes le chemin entierement.
Chez moi sous xp j'obtiens : C.\program
et non le chemin entierement
je vais juste au tokens 2,puis suivant * et je décide d'affiche le contenu du second champs demandé %%B


Citation:

y a t'il une raison particulière?

Oui l'espace contenu dans le chemin

Citation:

après "DisplayIcon" tu mets 2 avec ^>

peux tu me l'expliquer?


C'est pour éviter l'affichage des erreurs pour la clé.

Citation:

petit questions

Laddy a écrit:
Bonjour migau

si le logiciel est installé sur une partition ou sur le disque dur je suis passé par la clé Uninstall.

Code:

@echo off
mode con cols=80 lines=20 | color 1F
rem titre du script
title liste a afficher

echo. &echo.

rem chercher le chemin de notepad++
rem le chemin exact sur mon pc est L:\note-pad\Notepad++

REM Déclaration des variables
set rapport=test.txt
Set Uninstall=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Notepad++

::Lecture de la clé Uninstall
For /F "Tokens=2,*" %%A in ('REG query "%Uninstall%" ^|Find "DisplayIcon" 2^>NUL') do If exist %%B (start /w "%%B" %rapport%) Else (notepad.exe %rapport%)

@exit



si je veux désinstaller notepad++ en batch

je ferai comme celà

For /F "Tokens=2,*" %%A in ('REG query "%Uninstall%" ^|Find "UninstallString" 2^>NUL') do start / wait "%%B"

évidemmnent, je n'ai pas testé

y a t'il un commutateur à start pour valider la commande ?


je n'ai pas trouvé par cmd star /?
merci pour toutes ces réponses

[/quote]
Je n'ai pas compris la question.
si tu utilises start et que le logiciel l'accepte ça se fait tout seul ou sans tout dépend de l'exe


Code:
For /F "Tokens=2,*" %%A in ('REG query "%Uninstall%" ^|Find "UninstallString" 2^>NUL') do  "%%B"





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]notepad++ dans le %path% 
Re bonjour

Laddy a écrit:


ça m'étonne que tu obtiennes le chemin entierement.
Chez moi sous xp j'obtiens : C.\program
et non le chemin entierement
je vais juste au tokens 2,puis suivant * et je décide d'affiche le contenu du second champs demandé %%B


si sous seven j'ai testé la clé, cela m'affiche

L:\note-pad\Notepad++\notepad++.exe

si tu veux, je peux te faire une capture écran


Laddy a écrit:


Je n'ai pas compris la question.
si tu utilises start et que le logiciel l'accepte ça se fait tout seul ou sans tout dépend de l'exe


quand tu utilises del , si tu mets le commutateur /p
on te demande une validation avant de supprimer le fichier
sur start ,il n'y a pas ce genre de commutateur pour valider le démarrage.

c'est pour celà qu'avec le batch il faut faire très attention, il n' y a pas de poubelle de rattrapage


merci pour tout




______________________________________________________
à plus

migau
Visiter le site web du posteur
Répondre en citant
Message [Résolu]notepad++ dans le %path% 
migau a écrit:
Re bonjour

Laddy a écrit:


ça m'étonne que tu obtiennes le chemin entierement.
Chez moi sous xp j'obtiens : C.\program
et non le chemin entierement
je vais juste au tokens 2,puis suivant * et je décide d'affiche le contenu du second champs demandé %%B


si sous seven j'ai testé la clé, cela m'affiche

L:\note-pad\Notepad++\notepad++.exe

si tu veux, je peux te faire une capture écran

non je te crois, si tu le dis cependant sous xp ça ne fonctionne pas.


Citation:

Laddy a écrit:


Je n'ai pas compris la question.
si tu utilises start et que le logiciel l'accepte ça se fait tout seul ou sans tout dépend de l'exe


quand tu utilises del , si tu mets le commutateur /p
on te demande une validation avant de supprimer le fichier
sur start ,il n'y a pas ce genre de commutateur pour valider le démarrage.

c'est pour celà qu'avec le batch il faut faire très attention, il n' y a pas de poubelle de rattrapage


merci pour tout

Non ça n'existe pas
pour le désinstalleur de notepad++ i ouvre une fenetre pour valider la désinstallation.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Message [Résolu]notepad++ dans le %path% 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch