[R] Notepad++ (remplacer)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
emanemos
Niveau 4
Niveau 4
Messages : 61
Enregistré le : sam. 26 nov. 2011 12:39
Status : Hors ligne

[R] Notepad++ (remplacer)

#1

Message par emanemos »

bonjour,

je recherche le code pour faire des remplacements dans un fichier par notepad++ :

Code : Tout sélectionner

Run ("C:\Program Files\Notepad++\notepad++.exe E:\test.xml")
WinWaitActive("[CLASS:Notepad]")
je souhaite remplacer "" par " puis enregistrer et fermer le fichier.
je bloque.

merci pour votre aide.
Modifié en dernier par emanemos le jeu. 09 févr. 2012 14:20, modifié 1 fois.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] notepad++ (remplacer)

#2

Message par ZDS »

Bonjour,

Tout d'abord, pourquoi faire ce remplacement en pilotant Notepad++ alors que tu pourrais faire les remplacements directement dans le script, avec les fonctions FileOpen/FileWrite ?

Sinon, voici un bout de code pour t'aiguiller (ATTENTION: Le code n'est peut-être pas fonctionnel) :

Code : Tout sélectionner

Run ("C:\Program Files\Notepad++\notepad++.exe E:\test.xml")
WinWaitActive("[CLASS:Notepad++]")
Send('^h') ; Envoye un Ctrl+H
WinWaitActive("[CLASS:#32770]") ; Attend l'arrivée de la fenêtre de remplacement
Send('"{TAB}""{TAB}t') ; Remplit " dans le premier champ, passe au suivant, remplit "" dans le second, sort des champs de saisie, et appuie sur t pour lancer la fonction du bouton 'Remplacer tout'
Voila, je ne peux pas tester ce code, je n'ai pas facilement accès à un environnement avec N++ (on peut pas toujours tout faire par VNC ^^).

A bientôt, quand j'aurai un Notepad++ sous la main, je testerai et modifierai si besoin.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
emanemos
Niveau 4
Niveau 4
Messages : 61
Enregistré le : sam. 26 nov. 2011 12:39
Status : Hors ligne

Re: [..] notepad++ (remplacer)

#3

Message par emanemos »

cela marche : mais je dois valider un OK (comment faire?) et fermer après la fenêtre remplacer

et comment faire pour Run("C:\Program Files\Notepad++\notepad++.exe E:\Data\2012-02-09\test.xml")
avec des variables pour changer la date tous les jours; la ligne Run ne prend pas les variables dans le nom de fichier ?
Modifié en dernier par emanemos le jeu. 09 févr. 2012 11:55, modifié 1 fois.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] notepad++ (remplacer)

#4

Message par ZDS »

Pour faire OK, le plus simple est encore de faire un Send("{ENTER}").

Pour changer le nom du fichier, tu peux utiliser les macros @YEAR, @MON, @MDAY pour récupérer respectivement l'année, le mois et le jour . Le nom du fichier étant dans une une simple chaîne de caractères, si tu as suivi les bases du tutoriel du SiteDuZéro (lien tout en haut à gauche de cette page), tu devrais être capable de le faire proprement.

Bye !
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
emanemos
Niveau 4
Niveau 4
Messages : 61
Enregistré le : sam. 26 nov. 2011 12:39
Status : Hors ligne

Re: [..] notepad++ (remplacer)

#5

Message par emanemos »

Code : Tout sélectionner

Run("C:\Program Files\Notepad++\notepad++.exe" $path_imp & $fic & "C1.xml") ; ne marche pas

path_imp = "E:\Data\"
$fic=@YEAR & "-" & @MON & "-" & @MDAY & "\"
Modifié en dernier par emanemos le jeu. 09 févr. 2012 14:22, modifié 1 fois.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] notepad++ (remplacer)

#6

Message par TommyDDR »

@ZDS : je vous demanderais de ne pas répondre s'il vous plait

@emanemos :
emanemos a écrit :Run("C:\Program Files\Notepad++\notepad++.exe $path_imp & $fic & "C1.xml"") ne marche pas
Ça ne marche pas (sous entendu : "Je n'arrive pas à le faire marcher") et ça ne compile pas sont deux choses totalement différentes.

Si vous avez fait un copier coller de votre code, je vous conseille de lire l'erreur retournée dans SciTE.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
emanemos
Niveau 4
Niveau 4
Messages : 61
Enregistré le : sam. 26 nov. 2011 12:39
Status : Hors ligne

Re: [..] notepad++ (remplacer)

#7

Message par emanemos »

j'ai juste dit que je n'y arrivais pas .... Cela ne marchait pas quand je le faisais....

j'ai trouvé :
Run("C:\Program Files\Notepad++\notepad++.exe" &" " & $path_imp & $fic & "C1.xml")


Merci pour votre aide.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [R] Notepad++ (remplacer)

#8

Message par TommyDDR »

Si vous avez une erreur lors de l’appuie sur F5 et que celle ci vous indique "Syntax error" c'est que vous avez mal écris une ligne de code, et SciTE est très gentil et vous indique l'endroit avec ses

Code : Tout sélectionner

~~~~~~~~~^
Bonne fin de code ^^
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Répondre