[..] Joker : nom de la valeur sur rapport
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[..] Joker : nom de la valeur sur rapport
Bonjour,
J'ai essayé de trouver un juste titre pour ma question mais ce n'est pas vraiment facile.
Lors de l'exécution d'un programme celui-ci crée un rapport dans C:\ qui se nomme Ad-SCAN[1] :
-> Le SCAN peut varier, si il est exécute en mode suppression ce sera Ad-CLEAN
-> le numéro entre les crochets et variable si la personne l'exécute 10 fois ce sera Ad-SCAN[10]
Pour trouver ce rapport j'ai utilisé le joker *. Sur le rapport cela me met
Ad-* trouvé !
=> Ce que j'aimerais c'est qu'il m'indique le nom complet du fichier.
Ad-SCAN[2] présent ! ou Ad-CLEAN[1] présent ! etc...
Merci de votre aide,
JW
J'ai essayé de trouver un juste titre pour ma question mais ce n'est pas vraiment facile.
Lors de l'exécution d'un programme celui-ci crée un rapport dans C:\ qui se nomme Ad-SCAN[1] :
-> Le SCAN peut varier, si il est exécute en mode suppression ce sera Ad-CLEAN
-> le numéro entre les crochets et variable si la personne l'exécute 10 fois ce sera Ad-SCAN[10]
Pour trouver ce rapport j'ai utilisé le joker *. Sur le rapport cela me met
Ad-* trouvé !
=> Ce que j'aimerais c'est qu'il m'indique le nom complet du fichier.
Ad-SCAN[2] présent ! ou Ad-CLEAN[1] présent ! etc...
Merci de votre aide,
JW
Re: [...]Joker : nom de la valeur sur rapport
Essaie ça:
Code : Tout sélectionner
Local $i
For $i = 0 to 10000 step +1
If FileExists ( "C:/AD-Scan"&"["&$i&"]"&".txt") Then
Msgbox (0, "", "Ad-Scan trouvé")
ElseIf FileExists( "C:/AD-Clear"&"["&$i&"]"&".txt")Then
Msgbox (0, "", "Ad-Clear trouvé")
EndIf
NextLe "je ne sais pas" et "j'y arrive pas" n'existe dans mon vocabulaire. Toutes Questions ont une réponse, cherchez et vous la trouverai. Utilisez Recherche du forum et vous verrez. Si [blink]Aucune[/blink] question ne tient à votre problème, créez un sujet.
Re: [...]Joker : nom de la valeur sur rapport
Essaye plutot ca :
Code : Tout sélectionner
; Shows the filenames in the current directory.
$search = FileFindFirstFile("Ad-*[*].txt")
; Check if the search was successful
If $search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
MsgBox(4096, "File:", $file)
WEnd
; Close the search handle
FileClose($search)
Re: [...]Joker : nom de la valeur sur rapport
Ou ça
Si tu veux quelque chose de plus personnalisé, tu peux appliquer une fonction qui va filtrer un tableau:
Code : Tout sélectionner
#Include <File.au3>
#Include <Array.au3>
Local $chemin_rapports = "."
$arr_files = _FileListToArray($chemin_rapports , "Ad-*[*].txt", 1)
_ArrayDisplay($arr_files)
Code : Tout sélectionner
#Include <File.au3>
#Include <Array.au3>
Local $chemin_rapports = "."
$arr_files = _FileListToArray($chemin_rapports , "*", 1)
_ArrayDisplay($arr_files)
$arr_files_filter = _ArrayFilterRegEx($arr_files,"(?i)Ad\-\w+\[\d+\]")
_ArrayDisplay($arr_files_filter)
Func _ArrayFilterRegEx(Const ByRef $aArray,$sFilter)
Local $iSize = UBound($aArray)
Local $aBuffer[$iSize]
Local $i,$k=0
For $i=0 to $iSize - 1
if(StringRegExp($aArray[$i],$sFilter)) Then
$aBuffer[$k] = $aArray[$i]
$k+=1
EndIf
Next
if (not $k = 0) then ReDim $aBuffer[$k]
return $aBuffer
EndFunc
Re: [..] Joker : nom de la valeur sur rapport
Dac'
La méthode Gmid donne exactement ce que je voulais
je l'ai modifié un peu pour ceci :
=> Je voulais savoir comment es ce que l'on pouvait faire pour que cela prenne en compte plusieurs données du genre ceci mais avec la technique de au dessus.
J'éspère avoir été clair
JW
La méthode Gmid donne exactement ce que je voulais
je l'ai modifié un peu pour ceci :
Code : Tout sélectionner
$search = FileFindFirstFile(@HomeDrive & "\Ad-*")
; Check if the search was successful
If $search = -1 Then
Exit
EndIf
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
FileWriteLine(@HomeDrive & "\report.txt", $file & " trouvé")
WEndCode : Tout sélectionner
Global $aFile[15] = ["WFR", "SystemLook", "TmpSeaf", "TB", "Fyk", "Haxfix", "Haxlog", "UsbFix", "avenger", "resultat", "List'em", "cleannavi", "rapport", "ComboFix", "MyHosts" ]
For $i = 0 to UBound($aFile) - 1
If FileExists(@HomeDrive & "\" & $aFile[$i] & ".txt") Then
FileWriteLine(@HomeDrive & "\report.txt", $aFile[$i] & ".txt trouvé")
EndIf
NextJ'éspère avoir été clair
JW
- Tlem
- Site Admin

- Messages : 11824
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Joker : nom de la valeur sur rapport
Pour rester simple, je vous conseil l'utilisation de la fonction _FileListToArray().
Celle-ci vous permettra de saisir des caractères génériques et vous renverra en résultat un tableau de fichiers (tout comme le tableau $aFile).
Ensuite de la même manière, vous n'avez qu'a faire une boucle pour en lire le contenu.
Celle-ci vous permettra de saisir des caractères génériques et vous renverra en résultat un tableau de fichiers (tout comme le tableau $aFile).
Ensuite de la même manière, vous n'avez qu'a faire une boucle pour en lire le contenu.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Joker : nom de la valeur sur rapport
Merci Tlem
J'ai suivi vos conseils et j'arrive à deux scripts :
=> Il n'y a pas de message d'erreur de la part de AutoIT ce qui est déjà bien
j'ai juste un problème c'est qu'il ne crée pas le rapport. Par ailleurs lequel des deux scripts et le plus "juste" ? ( Je pencherais pour le deuxième )
Merci,
JW
J'ai suivi vos conseils et j'arrive à deux scripts :
Code : Tout sélectionner
#Include <File.au3>
#Include <Array.au3>
Local $chemin_rapports = @HomeDrive
$arr_files = _FileListToArray($chemin_rapports , "Ad-*.txt", 1)
If FileExists(@HomeDrive & "\" & $arr_files & ".txt") Then
FileWriteLine(@HomeDrive & "\report.txt", $arr_files & ".txt trouvé")
EndIf
Code : Tout sélectionner
#include <File.au3>
#include <Array.au3>
$rep[2] = ["Report-*", "Ad-*"]
$FileList=_FileListToArray($rep)
For $i = 0 to UBound($rep) - 1
If FileExists(@HomeDrive & "\" & $rep[$i] & ".txt") Then
FileWriteLine(@HomeDrive & "\report.txt", $rep[$i] & ".txt trouvé")
EndIf
Next
Merci,
JW
- Tlem
- Site Admin

- Messages : 11824
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Joker : nom de la valeur sur rapport
Cela ne peut fonctionner comme vous l'avez fait, car crée un tableau de deux valeurs.
Orn'utilise aucune des deux valeurs ...
Une valeur du tableau s'obtient par $rep[x]. X étant l'index de la valeur à utiliser.
En fait, vous mélangez l'utilisation des 2 tableaux.
D'après votre code, vous allez devoir créer deux boucles imbriquées.
La première sur les éléments du tableau $rep et la seconde sur le tableau du résultat de recherche des fichiers (en rapport avec le premier tableau).
Ce qui donne :
Code : Tout sélectionner
$rep[2] = ["Report-*", "Ad-*"]Or
Code : Tout sélectionner
$FileList=_FileListToArray($rep)Une valeur du tableau s'obtient par $rep[x]. X étant l'index de la valeur à utiliser.
En fait, vous mélangez l'utilisation des 2 tableaux.
D'après votre code, vous allez devoir créer deux boucles imbriquées.
La première sur les éléments du tableau $rep et la seconde sur le tableau du résultat de recherche des fichiers (en rapport avec le premier tableau).
Ce qui donne :
Définition du tableau $rep
Boucle N°1 sur le tableau $rep
Recherche des fichiers en fonction de chaque élément de $rep.
Boucle N°2 sur le tableau $FileList
Test de la présence des fichiers de chaque éléments du tableau $FileList et écriture dans le fichier report.txt.
Fin de boucle N°2
Fin de boucle N°1
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Joker : nom de la valeur sur rapport
Bonjour,
Merci de votre aide et de votre patience :
Inutile je pense de vous dire qu'il y a encore des erreurs là dedans 
JW
Merci de votre aide et de votre patience :
Code : Tout sélectionner
#Include <File.au3>
#Include <Array.au3>
; Définition du tableau rep
$rep[2] = ["Report-*", "Ad-*"]
;recherche des fichiers en fonctions du tableau
For $i = 0 to UBound($rep) - 1
FileExists(@HomeDrive & "\" & $rep[$i] & ".txt")
; Test de présence des fichiers de chaque éléments du tableau $FileList
$FileList=_FileListToArray($rep)
For $i = 0 to UBound($FileList) - 1
If FileExists(@HomeDrive & "\" & $FileList[$i] & ".txt") Then
FileWriteLine(@HomeDrive & "\report.txt", $FileList[$i] & ".txt trouvé")
EndIf
NextJW
Re: [..] Joker : nom de la valeur sur rapport
Il me semble qu'il y a confusion entre répertoire et les fichiers. La variable est nommé $rep mais en faite ce sont les noms des rapports sous forme de fichiers textes.
Apparemment tous les rapports sont dans le même répertoire, il suffit de faire un _FileListToArray() pour récupérer les fichiers du répertoire suivit d'un _ArraySearch() avec la liste des fichiers à chercher: "WFR", "SystemLook", "TmpSeaf", "TB", "Fyk", "Haxfix", "Haxlog", "UsbFix", "avenger", "resultat", "List'em", "cleannavi", "rapport", "ComboFix", "MyHosts"
Apparemment tous les rapports sont dans le même répertoire, il suffit de faire un _FileListToArray() pour récupérer les fichiers du répertoire suivit d'un _ArraySearch() avec la liste des fichiers à chercher: "WFR", "SystemLook", "TmpSeaf", "TB", "Fyk", "Haxfix", "Haxlog", "UsbFix", "avenger", "resultat", "List'em", "cleannavi", "rapport", "ComboFix", "MyHosts"
Re: [..] Joker : nom de la valeur sur rapport
Bonjour Voodoo
J'ai fais quelque chose comme cela :
Suis-je sur la bonne voie ? Voici le message d'erreur :
JW
J'ai fais quelque chose comme cela :
Code : Tout sélectionner
_FileListToArray(@HomeDrive,"*",0)
_ArraySearch("WFR", "SystemLook", "TmpSeaf", "TB", "Fyk", "Haxfix", "Haxlog", "UsbFix", "avenger", "resultat", "List'em", "cleannavi", "rapport", "ComboFix", "MyHosts",0,0,0,1)
Code : Tout sélectionner
C:\Documents and Settings\TEMP\Bureau\Logiciel Helper Formation\ST\ttes.au3(1,34) : ERROR: _FileListToArray(): undefined function.
_FileListToArray(@HomeDrive,"*",0)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Documents and Settings\TEMP\Bureau\Logiciel Helper Formation\ST\ttes.au3(2,176) : ERROR: _ArraySearch(): undefined function.
_ArraySearch("WFR", "SystemLook", "TmpSeaf", "TB", "Fyk", "Haxfix", "Haxlog", "UsbFix", "avenger", "resultat", "List'em", "cleannavi", "rapport", "ComboFix", "MyHosts",0,0,0,1)
- Tlem
- Site Admin

- Messages : 11824
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Joker : nom de la valeur sur rapport
Il serait peut être temps que vous jetiez un oeil à la documentation des commandes que vous cherchez à utiliser !!!
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".



