Page 1 sur 1
[R] Enregistrer dans un .txt sans l'ouvrir
Posté : mar. 10 janv. 2012 14:14
par sirus
Bonjour à tous, et oui j'ai encore besoin de vos lumières...
J'ai deux soucis
le premier est de récupérer l'adresse mac d'un pc et de l'enregistrer dans un fichier .txt (ça c'est pas trop dur). La ou je bloque c'est que j'aimerai savoir si il est possible de d’enregistrer les données dans le .txt sans le voir s'ouvrir (gain de temps).
J'ai adapté un script et ça me donne ça (je sais sais c'est pas le top lol):
► Afficher le texte
Code : Tout sélectionner
#include <Constants.au3>
$message = ""
$ip= @IPAddress1
$foo = Run(@ComSpec & " /c nbtstat.exe -A "&$ip,"",@SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
$macadresse=""
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
$test="Adresse MAC = "
if StringLen($line)>0 Then
for $i=1 to StringLen($line) - 14
if StringMid($line,$i,14)=$test then
$macadresse=StringUpper(StringMid($line,$i+14,17))
ExitLoop
EndIf
Next
EndIf
Wend
;nbstat n'a pas fonctionné on essai avec arp
if $macadresse="00-00-00-00-00-00" or $macadresse="" then
$foo = Run(@ComSpec & " /c arp.exe -a "&$ip,"",@SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
$macadresse=""
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
$test=$ip
if StringLen($line)>0 Then
for $i=1 to StringLen($line) - StringLen($ip)
if StringMid($line,$i,StringLen($ip))=$test then
;ip trouvé dans la table arp
$i=$i+StringLen($ip)+1
; on laisse passer tous les espaces apres l'ip
While StringMid($line,$i,1)=" "
$i=$i+1
WEnd
$macadresse=StringUpper(StringMid($line,$i,17))
ExitLoop
EndIf
Next
EndIf
Wend
EndIf
Run("notepad.exe")
WinWaitActive("Sans titre - Bloc-notes")
Send("Le nom de pc est : " & @ComputerName)
Send("{ENTER}")
Send("L'adresse mac est : " & $macadresse)
Send("!{F}")
Sleep(200)
Send("{DOWN}")
Send("{DOWN}")
Send("{ENTER}")
sleep(200)
Send(@ComputerName & ".txt")
Sleep(200)
Send("{ENTER}")
sleep(200)
Send("!{F4}")
FileMove("D:\Documents and Settings\" & @UserName & "\Bureau\" & @ComputerName & ".txt", "F:\config réseau")
En gros je cherche à dire au script d'envoyer les données dans le fichier txt qu'il nommera avec le non du pc de manière invisible et rapide.
Mon deuxième problème est d'enregistrer le fichier sur mon pc en réseau à l'adresse suivante \\D252845\d$.
Je suis en administrateur sur le même réseau que mon pc.
Merci par avance
Re: [..]enregistrer dans un .txt sans l'ouvrir
Posté : mar. 10 janv. 2012 14:21
par mikell
Hum regarde FileWrite() dans l'aide
Et tant qu'à faire regarde donc aussi les autres fonctions File...
Code : Tout sélectionner
$text = "Le nom de pc est : " & @ComputerName & @CRLF
$text &= "L'adresse mac est : " & $macadresse
FileWrite(@desktopdir & "\" & @ComputerName & ".txt", $text)
Re: [R] Enregistrer dans un .txt sans l'ouvrir
Posté : mar. 10 janv. 2012 15:11
par sirus
Merci pour ta réponse ça fonctionne comme je voulais pour la création du fichier .txt .
J'avais essayé filewrite mais j'avais du me raté quelque part...