Was meinst Du mit funktioniert das ?
Beiträge von bordermax
-
-
Das was ich hier eingestellt habe ist nur ein Teil von einem Script. Die Variable "$nRegDelKey" wird schon noch an anderer Stelle weiterverarbeitet...
-
Hallo,
folgendes Problem:
Ich lese in einem Script per RegEnumVal alle Wertenamen eines Schlüssels aus, vergleiche diese Werte dann auf bestimmte Vorkommen und
lösche dann diejenigen die diese Bedingung nicht erfüllen. Hier der Quelltext ....Spoiler anzeigen
$sRegKey = "HKEY_LOCAL_MACHINE\Testkey\";*** Dieses Script benötigt volle Admin-Rechte ***
#RequireAdmin
;*************************************************_SyncReg ()
Func _SyncReg ()
Local $j, $k, $sSyncFound, $nRetRegSync
For $j = 1 to 30
$sSyncFound = 0
$nRetRegSync = RegEnumVal($sRegKey, $j)
If @error <> 0 Then ExitLoop
If StringInStr($nRetRegSync,"TestName") Then $sSyncFound = 1
If $sSyncFound = 0 Then
_DelReg ($nRetRegSync)
EndIf
Next
EndFunc ;==> _SyncRegFunc _DelReg ($sTempName)
Local $nRegDelKey
$nRegDelKey = RegDelete ($sRegKey, $sTempName)
EndFunc ;==> _DelRegDas Problem ist nun daß nicht alle Schlüssel gelöscht werden die $sSyncFound = 0 sind. Die For-Schleife zur Ermittlung der Wertenamen durchläuft dann komischerweise nicht alle Instanzen sobal ein Schlüssel gelöscht wurde. Hat jemand ne Idee ?
Gruß
Markus
-
Hallo Diggidie,
Deine Lösung ist genau das was ich gesucht habe, Danke !
Gruß
Markus
-
Danke schonmal für die vielen Infos, werde mal etwas rumexperimentieren...melde mich dann wieder.
-
Hi,
folgendes Problem:
Ich hab ein Script mit GUI entwickelt daß auf verschiedenen Rechnern zum Einsatz kommt.
Es gibt jetzt ein Rechner der die Anzeige auf "Mittel - 125 %" eingestellt hat. Auf diesem Rechner
sind meine Labels der GUI nicht mehr lesbar da die Schrift halt viel zu groß dargestellt wird.
Habt Ihr ne Idee wie ich das lösen kann (so daß die Ansicht auch für alle anderen Rechner noch
funktioniert ..) ?Gruß
Markus
-
Ok, auch ne Idee... werd ich mal testen...
-
Hallo,
folgendes Problem ....
Ich hab in einem Script einen Quell und einen Zielordner (mit einigen Dateien und Verzeichnissen). Wenn sich nun im Zielordner irgendwas ändert
(zusätzliche Datei, Dateiänderung, etc.) dann soll der Inhalt des Zielordner gelöscht und der Inhalt des Quellordners in den Zielordner kopiert werden.
Momentan überprüfe ich diese Änderung einfach in dem ich von beiden Ordnern Anzahl der Dateien, Anzahl der Ordner und die Gesamtgröße in Bytes
ermittle und diese gegeneinander abgleiche. Bei Änderung wird halt gelöscht und kopiert.
Denkt Ihr das ist eine zuverlässige Methode oder habt Ihr vielleicht einen anderen Ansatz ?Gruß
Markus
-
So, hab das Problem jetzt mit einem eigenem Fehlerhandling gelöst...Hätte ich mal die Hilfe ordentlich gelesen ...:)
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc") ; Implementiert einen eigenen
Error-HandlerGruß
Markus
-
sorry mein fehler... hab das beispiel, schau's mir mal an ...
-
Welches 2. Beispiel meinst Du ?
-
Hi,
brrauch mal etwas Nachhilfe im Fehlerhandling...
Also, ich schreibe per Funktion Daten in eine SQL-Datenbank. Jetzt möchte ich gerne falls das nicht funktioniert den Fehler abfangen.
Habe das über 'Set Error' realisiert. Habe aber auch festgestellt daß wenn nicht geschrieben werden kann (wenn zum Beispiel ne falsche Tabelle angegeben wird) die Funktion einfach abgebrochen wird und ich somit
einen auftretenden Fehler nicht auswerten kann.CodeFunc _SQLLog ($oConn, $sLogTable, $sScriptName, $sScriptPath, $sLogText, $sEvent) If StringUpper($sEvent) <> "Warnung" And StringUpper($sEvent) <> "Fehler" And StringUpper($sEvent) <> "Critical" Then Return SetError(2,0,0) $oConn.execute ("INSERT INTO " & $sLogTable & " (" & $sSpalte1 & "," & $sSpalte2 & "," & $sSpalte3 & "," & $sSpalte4 & "," & $sSpalte5 & "," & $sSpalte6 & ") VALUES('" & $sScriptName & "','" & $sScriptPath & "','" & $sDate & "','" & _Now() & "','" & $sLogText & "','" & StringUpper($sEvent) & "')") If @error Then Return SetError(1, 0, 0) Return 1 EndFunc ;==> _SQLLog
Was mach ich falsch ?
Markus
-
So, hab's nun doch noch hinbekommen:
WinActivate("","Drag2PDF")
ControlClick("","Drag2PDF",1)"Drag2PDF" wird im Info-Tool "Au3Info" nicht angezeigt, war Zufall daß ich das herausbekommen habe...
-
Hi,
vielleicht nutzt ja jemand von Euch den Edoc Printer PDF Pro ...
Bei diesem PDF-Printer gibts ein Kommandozeilentool "Drag2PDF.exe" mit dem ich per Konsole ein PDF erzeugen kann.
Ich nutze dieses Tool in einem AutoIT Script. Einziges Problem ... das Tool zeigt bei jeder Erstellung ein Fenster an in dem
OK oder Abbrechen geklickt werden muß damit die PDF-Erstellung weiterläuft (kommt halt bei der eingeschränkten Version,
aber die reicht mir vollkommen aus). Ich schaffs aber nicht per AutoIT in diesem Fenster Ok oder Abbrechen zu klicken.
Schließen kann ich das Fenster aber das bringt nicht den gewünschten Effekt.
Vielleicht hat ja jemand von Euch die Software und kanns mal selber ausprobieren. Im Anhang hab ich mal n'en Screenshot angehangen. -
Ein weiterer Vorteil von Python und z.B. auch Ruby wären im übrigen, dass sie auch unter Linux einsetzbar sind. Autoit ist leider auf Windows Umgebungen begrenzt.
Plattformunabhängigkeit ist nicht gefragt ( ) , wird sich Alles auf Windows (Client/Server) konzentrieren.
-
Ein gravierender Nachteil von AutoIT wäre, dass es kein Multithreading unterstützt und dadurch je nach Aufgabe massive Geschwindigkeitsnachteile zu anderen Sprachen hat. Grundsätzlich kann man das aber durch den Einsatz multipler Instanzen oder durch seperate Teilprogramme umgehen. Ansonsten finde ich AutoIT eine schöne Script Sprache die man sehr schnell erlernen kann (was evtl. auch für neue Kollegen relevant sein kann).
Ok, hab ich beim Scripten noch nie benötigt. Aber interessante Info... Welche Scriptsprache beherrscht das denn ?
-
Sich auf eine gemeinsame Sprache der eingesetzten Scripte festzulegen macht in jedem Fall Sinn. So kann auf lange Sicht jeder Verantwortliche Änderungen und Anpassungen an den Scripten vornehmen ohne dafür 5 Sprachen zu beherschen.
Ja das ist auch eine unserer Überlegungen. Ab einer gewissen Unternehmensgröße geht es nicht mehr ohne Standardisierung.
-
Ok , Danke schonmal für die Antworten. Wie siehts eigentlich mit AutoIT und Citrix aus ? Läuft AutoIT in der Citrix-Session ?
Sollte ja eigentlich nix dagegen sprechen, ist ja im Grunde auch nur ein Windows Server ...Die Powershell 3.0 ist leider nicht mit XP und Server2008 kompatibel.
Hab gedacht die Powershell 3.0 wäre mit Server2008 R2 kompatibel ?
Hat schon jemand von Euch mit der Powershell GUI-Scripte erstellt ? Wie ist der Vergleich zu AutoIT ? -
Hallo Forum,
ich würde gerne mal ne kleine Diskussionsrunde anstoßen ...
Also, in dem Unternehmen in dem ich arbeite sind wir am überlegen alle existierenden Scripte auf eine Scriptsprache umzustellen.
Momentan laufen ca. 50 VB-Scripte, ca. 20 HTA-Scripte (zwecks GUI Bedarf) und einige wenige AutoIT-Scripte.
Die Scripte sind alle mehr oder weniger Automatisierungen / Hilfsprogramme für den Admin aber auch Minianwendungen für den Anwender,
mal mit mal ohne GUI.
Würdet Ihr in einem Unternehmen komplett auf AutoIT umstellen, natürlich vorrausgesetzt die Problemstellung ist damit umsetztbar ?
Ich habe bisher noch nichts gefunden was AutoIT gegenüber zum Beispiel VB-Script nicht kann. Die Einfachheit der Sprache und der
gleichzeitig enorme Funktionsumfang haben mich schon beeindruckt. Warum schwierig wenns auch einfach geht ?
Oder würdet Ihr in einem Unternehmen vielleicht doch lieber Powershell (wird wohl VB-Script mittelfristig ablösen) oder Python einsetzen ?
Wie sieht Ihr die Zukunft von AutoIT ?
Über regen Austausch würde ich mich sehr freuen und hoffe daß ich mit meiner Tendenz zu AutoIT nicht so falsch liege ...Gruß
Bordermax
-
Ok, versuch ich gleich mal ...
danke