Moin JohnLocklay.
vielleicht hilft dir das hier.
https://autoit.de/onlinehilfe/functions/WinWaitNotActive.htm
https://autoit.de/onlinehilfe/functions/WinGetTitle.htm
Moin JohnLocklay.
vielleicht hilft dir das hier.
https://autoit.de/onlinehilfe/functions/WinWaitNotActive.htm
https://autoit.de/onlinehilfe/functions/WinGetTitle.htm
Damit ich den Speicherort ändern kann muss ich doch _InitPDF(@ScriptDir & "\getmac.pdf") und $getmac = @ScriptDir & "\getmac.txt" ändern, oder?
Jo perfekt jetzt funktioniert es, danke.
Tja gut wenn das der Arbeitsplatz ist
Immer noch das selbe Problem.
Da gibt es ein Problem wenn ich das Skript starte schreibt er nichts in die PDF.
Er gibt erst bei dem 2ten mal was aus, wenn die PDF Datei schon einmal erstellt wurde.
MfG
Hingo
Ok, das Beispiel von bazii hilft mir weiter, ich werde mich dann wieder melden wenn ich Hilfe benötige.
Danke an euch allen.
MfG
Hingo
Zitat
Der schmeißt mir gar nichts raus wenn ich das in eine FileWrite packe.
Ja mache ich dann.
Moin bazii,
danke für deine Hilfe ich werde es mit der Mac Adresse später ausprobieren.
Zum PDF Converter, mit der UDF arbeite ich gerade schon, mein aktueller Stand ist jetzt gerade die PDF automatisch in einem Ordner zu speichern.
Hast du es schon mal mit DirCreate und FileOpen versucht?
MfG
Hingo
Moin ich muss das Thema noch mal aufmachen zu meiner Problematik ein PDF Dokument zu generieren.
Und zwar habe ich eine Checklistenartge .txt Datei die ich gerne in eine PDF haben möchte, ich habe zwar eine .txt zu .pdf Converter gefunden doch der hilft mir leider nicht viel, da es alles automatisch generiert werden soll.
Hier ist meine Programm:
#include <File.au3>
#include <Date.au3>
#include <Process.au3>
#Include <Array.au3>
FileDelete("C:\logs\Panelcheckliste.txt")
DirCreate("C:\logs\")
Local $Log = FileOpen("C:\logs\Panelcheckliste.txt", 1)
Start()
Func Start()
FileWrite($Log," Checkliste "&@CRLF)
FileWrite($Log,"====================================================="&@CRLF)
FileWrite($Log,""&@CRLF)
FileWrite($Log, "Current Date: " & _NowDate()&@CRLF)
FileWrite($Log, "Current Time: " & _NowTime()&@CRLF)
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "********************Computer Data********************"&@CRLF)
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "Serial number:"&@CRLF)
EndFunc
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$colAdapters = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
$str = ""
For $objAdapter in $colAdapters
If $objAdapter.MacAddress = Null Then
Else
FileWrite($Log, "Physicaladdress: " & $objAdapter.MacAddress &@CRLF& @LF)
EndIf
Next
CheckWindowsDir()
Func CheckWindowsDir()
If FileExists("C:\Program Files (x86)") Then
FileWrite($Log, "Operating system: " &@OSVersion& " " &@OSArch &@CRLF )
Else
FileWrite($Log, "Operating System is unknow"&@CRLF)
EndIf
EndFunc
CheckSpaceC ()
Func CheckSpaceC ()
Local $SpaceC = DriveSpaceTotal ("C:/")
Local $CinGb = Round($SpaceC)/1000
Local $minC = String(39000)
If $SpaceC > $minC Then
FileWrite($Log, "Disc C space " & $CinGb & "GB: [X]"&@CRLF)
Else
FileWrite($Log, "Disc C space: [ ]"&@CRLF)
EndIf
EndFunc
CheckSpaceD ()
Func CheckSpaceD ()
$Dloc = ("D:/")
If FileExists($Dloc) Then
Local $SpaceD = DriveSpaceTotal ("D:/")
Local $DinGb = Round($SpaceD)/1000
FileWrite($Log, "Disc D space " & $DinGb & "GB: [X]"&@CRLF)
Else
FileWrite($Log, "Disc D space: [ ]"&@CRLF)
EndIf
EndFunc
Alles anzeigen
Vielleicht habt ihr ja ne Idee.
MfG
Hingo
Habe es fertig.
Danke für die Hilfe.
#include <File.au3>
#include <Date.au3>
#include <Process.au3>
#Include <Array.au3>
FileDelete("C:\logs\Panelcheckliste.txt") ;Delete the Logfile "Panelcheckliste"
DirCreate("C:\logs\") ;create a log´s folder
Local $Log = FileOpen("C:\logs\Panelcheckliste.txt", 1) ;log localization
Start()
Func Start()
FileWrite($Log," BPCS Checkliste "&@CRLF)
FileWrite($Log,"====================================================="&@CRLF)
FileWrite($Log,""&@CRLF)
FileWrite($Log, "Current Date: " & _NowDate()&@CRLF) ;write Current date in log file
FileWrite($Log, "Current Time: " & _NowTime()&@CRLF) ;write Current time in log file
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "********************Computer Data********************"&@CRLF)
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "Serial number:"&@CRLF)
EndFunc
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$colAdapters = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
$str = ""
For $objAdapter in $colAdapters
If $objAdapter.MacAddress = Null Then
Else
FileWrite($Log, "Physicaladdress: " & $objAdapter.MacAddress &@CRLF& @LF)
EndIf
Next
Alles anzeigen
MfG
Hingo
Könnte das funktionieren wenn du eine 2te Listview in der gleichen GUI einfügst?
Ich finde nicht raus welche Zeile die Adresse ausliest.
Oder ist das so wie ich es mache überhaupt richtig?
DirCreate("C:\logs\") ;create a log´s folder
Local $Log = FileOpen("C:\logs\Panelcheckliste.txt", 1) ;log localization
Start()
Func Start()
FileWrite($Log," BPCS Checkliste "&@CRLF)
FileWrite($Log,"====================================================="&@CRLF)
FileWrite($Log,""&@CRLF)
FileWrite($Log, "Current Date: " & _NowDate()&@CRLF) ;write Current date in log file
FileWrite($Log, "Current Time: " & _NowTime()&@CRLF) ;write Current time in log file
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "********************Computer Data********************"&@CRLF)
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "Serial number:"&@CRLF)
EndFunc
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$colAdapters = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
$str = ""
For $objAdapter in $colAdapters
$str &= "Physicaladdress: " & $objAdapter.MacAddress &@CRLF& @LF
Next
;FileWrite($Log, $str)
If $objAdapter.MacAddress = "" Then
FileWrite($Log, "")
Else
FileWrite($Log, $str)
EndIf
Alles anzeigen
Ich lese jetzt alle Mac Adressen aus das ist auch ok, doch ich möchte jetzt mit einer If-Abfrage machen, das wenn keine Adresse gefunden wurde das diese Zeile nicht angezeigt wird.
#include <File.au3>
#include <Date.au3>
#include <Process.au3>
#Include <Array.au3>
FileDelete("C:\logs\Panelcheckliste.txt") ;Delete the Logfile "Panelcheckliste"
DirCreate("C:\logs\") ;create a log´s folder
Local $Log = FileOpen("C:\logs\Panelcheckliste.txt", 1) ;log localization
Start()
Func Start()
FileWrite($Log," BPCS Checkliste "&@CRLF)
FileWrite($Log,"====================================================="&@CRLF)
FileWrite($Log,""&@CRLF)
FileWrite($Log, "Current Date: " & _NowDate()&@CRLF) ;write Current date in log file
FileWrite($Log, "Current Time: " & _NowTime()&@CRLF) ;write Current time in log file
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "********************Computer Data********************"&@CRLF)
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "Serial number:"&@CRLF)
EndFunc
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
$colAdapters = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
$str = ""
For $objAdapter in $colAdapters
$str &= "Physicaladdress: " & $objAdapter.MacAddress &@CRLF& @LF
Next
;FileWrite($Log, $str)
Func Address ()
If $objAdapter.MacAddress = "" Then
FileWrite($Log, "")
Else
FileWrite($Log, $str)
EndIf
EndFunc
MfG
Hingo
Ich benötige nur 2 der Mac Adressen und nicht alle. Bei den Skript die du reingesetzt hast werden ja alle ausgelesen.
Bei deinem ersten Skript kann man die Mac Adressen nicht einzeln auftrennen, das heißt das ich nur 2 davon auslese?
MfG
Hingo
Mein ganzes Programm sieht so aus:
#include <File.au3>
#include <Date.au3>
#include <Process.au3>
#Include <Array.au3>
FileDelete("C:\logs\Panelcheckliste.txt") ;Delete the Logfile "Panelcheckliste"
DirCreate("C:\logs\") ;create a log´s folder
Local $Log = FileOpen("C:\logs\Panelcheckliste.txt", 1) ;log localization
Start()
Func Start()
FileWrite($Log," BPCS Checkliste "&@CRLF)
FileWrite($Log,"====================================================="&@CRLF)
FileWrite($Log,""&@CRLF)
FileWrite($Log, "Current Date: " & _NowDate()&@CRLF) ;write Current date in log file
FileWrite($Log, "Current Time: " & _NowTime()&@CRLF) ;write Current time in log file
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "********************Computer Data********************"&@CRLF)
FileWrite($Log, ""&@CRLF)
FileWrite($Log, "Serial number:"&@CRLF)
EndFunc
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colAdapters = $objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") ;Search the Mac Address
$str = ''
For $objAdapter in $colAdapters
$str &= " Physical (MAC) address: " & $objAdapter.MACAddress & @LF
Next
MacAddress ()
Func MacAddress () ;Start Func to show the Mac Address
FileWrite ($Log, "Physical address: "&$objAdapter.MACAddress& ""&@CRLF) ;Write the Varible of the Mac Address in Log
EndFunc ;End of the Func
CheckWindowsDir() ;Check the Windows folder location
Func CheckWindowsDir()
If FileExists("C:\Program Files (x86)") Then
FileWrite($Log, "Operating system: " &@OSVersion& " " &@OSArch &@CRLF ) ;Write in the log: System partition: "Windows directory"
Else
FileWrite($Log, "Operating System is unknow"&@CRLF)
EndIf
EndFunc
CheckSpaceC () ;Check how much space does the disc C have and if it´s more than 39GB
Func CheckSpaceC ()
Local $SpaceC = DriveSpaceTotal ("C:/") ;Disc c localization
Local $CinGb = Round($SpaceC)/1000
Local $minC = String(39000)
If $SpaceC > $minC Then ;if disc C have more space than minC(39GB), then
FileWrite($Log, "Disc C space " & $CinGb & "GB: [X]"&@CRLF) ;write in the log that disc c have enought space
Else
FileWrite($Log, "Disc C space: [ ]"&@CRLF) ;write in the log that disc c dont have enought space
EndIf
EndFunc
CheckSpaceD () ;Check how much space does Disc D have
Func CheckSpaceD ()
$Dloc = ("D:/")
If FileExists($Dloc) Then ;if locaization "D:/" exists then
Local $SpaceD = DriveSpaceTotal ("D:/") ;check how much space does the Disc D have
Local $DinGb = Round($SpaceD)/1000
FileWrite($Log, "Disc D space " & $DinGb & "GB: [X]"&@CRLF) ;Write in log: Disc D exist and write how much space does the D have
Else ;Else
FileWrite($Log, "Disc D space: [ ]"&@CRLF) ;Write that the disc cant find disc D
EndIf
EndFunc
Alles anzeigen
Wo die eine Ethernet adresse ausgelesen wird, soll jetzt noch die 2te Ethernet andresse ausgelesen werden. Mit deinem Vorschlag werden ja alle ausgelesen.
Das Ding ist ich möchte es in einer .txt Datei haben und es dann später in einer PDF umwandeln.
Moin,
ich würde gerne meine 2 Ethernet-Adapter Lan-Verbindung Mac-Adresse anzeigen, mit einer klappt es, doch ich habe nichts gefunden wie ich die 2te anzeigen lasse.
Wenn ihr etwas wisst lasst es mich.
Hier der Teil des Skriptes:
#include <File.au3>
#include <Process.au3>
FileDelete("C:\logs\Panelcheckliste.txt") ;Delete the Logfile "test"
DirCreate("C:\logs\") ;create a log´s folder
Local $Log = FileOpen("C:\logs\Test.txt", 1) ;log localization
$strComputer = "."
$objWMIService = ObjGet("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
$colAdapters = $objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = False") ;Search the Mac Address
$str = ''
For $objAdapter in $colAdapters
$str &= " Physical (MAC) address: " & $objAdapter.MACAddress & @LF
Next
MacAddress ()
Func MacAddress () ;Start Func to show the Mac Address
FileWrite ($Log, "Physical address: "&$objAdapter.MACAddress& ""&@CRLF) ;Write the Varible of the Mac Address in Log
EndFunc ;End of the Func
Local $iRc = _RunDos("start Notepad C:\logs\Test.txt")
MfG
Hingo