Hallo name22,
es funktioniert immer noch nicht
Vielleicht haben wir uns mißverstanden. Die vier aufgeführten Verzeichnisse sollen von der Prüfung nicht berücksichtigt werden.
Viele Grüße,
Dino
Hallo name22,
es funktioniert immer noch nicht
Vielleicht haben wir uns mißverstanden. Die vier aufgeführten Verzeichnisse sollen von der Prüfung nicht berücksichtigt werden.
Viele Grüße,
Dino
Hallo name22,
1. ich habe es getestet und die Verzeichnisse werden weiterhin im MsgBox aufgeführt.
2. Kann ich es auch so schreiben: ....$sPath & "Schulung" ?
Wenn sich der $sPath ändern sollte, damit ich unter $aExcept nicht viel ändern muss.
VG,
Dino
Hallo Leute,
gibt es die Möglichkeit, dass in diesem Code ein paar Verzeichnisse (T:\PRJ\6000;T:\PRJ\58000;T:\PRJ\Schulung;T:\PRJ\Test) eintrage, die bei der Anzeige im MsgBox ignoriert bzw. nicht berücksichtigt werden sollen?
Falls ja, was muss ich bitte ändern?
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;~ Im $sPath Verzeichnis wird nur in der Ebene 2 nach Verzeichnissen gesucht, die mit Zahl beginnen
#include <File.au3>
#include <Array.au3>
Dim $aResult[1] = [0]
Global $element
Global $sPath = "T:\PRJ"
Global $aFolder = _FileListToArray($sPath, "*", 2)
Global $sResult = ''
If IsArray($aFolder) Then
For $i = 1 To $aFolder[0]
$aTmp = _FileListToArray($sPath & "\" & $aFolder[$i], "*", 2)
If IsArray($aTmp) Then
For $j = 1 To $aTmp[0]
$iResult = StringRegExp($aTmp[$j], "^\d.*", 0, 0)
If $iResult = True Then
;_ArrayAdd($aResult, $aTmp[$j])
$sResult &= $sPath & "\" & $aFolder[$i] & "\" & $aTmp[$j] & @CRLF
$aResult[0] += 1
EndIf
Next
EndIf
Next
EndIf
;_ArrayDisplay($aResult)
MsgBox(0, "Falsch abgelegte Projekte?", $sResult)
Besten Dank!
Viele Grüße,
Dino
Hallo i2c und K4z,
das Regex-Pattern habe ich in "^\d.*" geändert. Es funktioniert super. Besten Dank!
Wie bekomme ich noch die Verzeichnisse in einem MsgBox mit dem Pfad ausgegeben?
Beispiel - MsgBox:
3 Projekte sind falsch abgelegt:
T:\PRJ\2500\6005500
T:\PRJ\2500\580500
T:\PRJ\800000\1500800
Viele Grüße,
Dino
Hallo Leute,
wie kann ich folgendes erledigen.
Es soll im Masterpfad nur nach Verzeichnissen der Ebene_2 gesucht werden die mit Zahl beginnen und diese hinterher in einem MsgBox ausgeben.
Masterpfad: T:\PRJ\
T:\PRJ\Ebene_1\Ebene_2
Ausgabe im MsgBox:
3 Projekte sind falsch abgelegt:
T:\PRJ\2500\6005500
T:\PRJ\2500\580500
T:\PRJ\800000\1500800
Besten Dank im Voraus!
Viele Grüße,
Dino
Hi L3viathan,
erstaml Besten Dank!
Ich habe es getestet und bekomme diese Meldung:
>Running:(3.3.6.1):C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "D:\Dino\test.au3"
D:\Dino\test.au3 (19) : ==> Subscript used with non-Array variable.:
For $j = 1 To $Lines[0]
For $j = 1 To $Lines^ ERROR
->13:05:33 AutoIT3.exe ended.rc:1
+>13:05:34 AutoIt3Wrapper Finished
>Exit code: 1 Time: 1.240
Viele Grüße,
Dino
Hallo Leute,
ich habe im Verzeichnis: D:\Vent\LOG und T:\Vent\LOG viele TXT-Dateien.
Der Inhalt jede Zeile beginnt mit dem Jahr (vierstellig)
200909240823;05PC1427;WIN_7;X64;VENT_XM;;8809091207;Müller
200909300816;05PC1427;WIN_7;X64;VENT_V8;;7908012402;Becker;3
201203150855;05PC2139;WIN_7;X64;VENT_XM;10212022001;10212031201;Pjana;3
1. Die Dateien bei den keine Zeile mit dem aktuellem Jahr (zur Zeit 2012) beginnt, sollen gelöscht werden.
2. In der Datei sollen alle Zeilen die nicht mit aktuellem Jahr beginnen entfernt werden.
Wie mache ich das am besten?
Besten Dank vorab!
Viele Grüße,
Dino
Hallo water,
wir haben es jetzt wie folgt gelöst:
[autoit]$filter = '[LastModificationTime] > "' & @MON & "/" & @MDAY & "/" & @YEAR & '"' ;03/15/2012"'
$aItems = _OL_ItemFind($oOutlook, "*\Posteingang", $olMail, $filter, "Subject", "lade", "", "", 1)
If @error = 0 Then
Else
MsgBox(48, "OutlookEX UDF: _OL_ItemFind Example Script", "Error finding a contact. @error = " & @error & ", @extended: " & @extended)
EndIf
$version = Stringsplit($aItems[1][0], " ")
MsgBox(1,"","Ich lade " & $version[3])
Besten Dank für die Unterstützung!
Viele Grüße,
Dino
Hallo water,
$cmdline[0] ergibt 0 wie auch bei $cmdlineraw schon zu sehen war.
Wir haben uns überlegt das die Regel ein Autoitscript anstösst und dann wird jede neu erhaltene Mail mit deiner OutlookEx ausgelesen.
Bitte gib uns ein Beispiel wie man ein Wort innerhalb des Betreff sucht.
Wir haben schon mit den like SQL Anweisungen fast alles probiert, aber die schreibweisen wie sie bei Microsoft beschrieben werden funktionieren nicht.
[Subject] = "test" funktioniert ja aber es werden nur alle Mails mit genau diesem Betreff rausgefiltert. Wir suchen *test*
Gruß und Danke
Hallo water,
das funktioniert nicht. Es wird nichts übergeben.
MsgBox(1,"",$CmdLineRaw ) ergibt ein leere Box
VG,
Dino
Hallo Leute,
ich habe eine Outlook-Regel eingerichtet. Wenn im Betreff "Lade Programm vom FTP" steht, dann wird eine EXE-Datei ausgeführt.
In der erste Zeile der Nachricht steht z.B. "10.2". Wie kann ich die Inhalt der erste Zeile der Nachricht an AutoIT übergeben?
Besten Dank vorab!
Viele Grüße,
Dino
VIELEN VIELEN DANK!!!!!
Funktioniert perfekt!!!
Hallo Leute,
mit diesem Code ersetze ich die Inhalte in *.txt Datei und es funktioniert perfekt:
[autoit]#include <File.au3>
[/autoit][autoit][/autoit][autoit]$searchstring_1 = "G:\ustation_admin_V8i\00000000"
;~ $replacestring_1 = "G:\ustation_admin_V8i\00000000"
$replacestring_1 = StringLeft(@ScriptDir, 2) & "\KTR\00000000"
;~ $pfad = "c:\admin_V8\config\project_config\"
$pfad = @ScriptDir & "\"
$array_1 = _FileListToArray($pfad, "*.txt", 1)
For $i = 1 To Ubound($array_1)-1
$content = FileRead($pfad&$array_1[$i]) ; lesen
$content = StringReplace($content, $searchstring_1, $replacestring_1) ; ersetzen
$handle = FileOpen($pfad&$array_1[$i], 2) ; Datei zum überschreiben öffnen
FileWrite($handle,$content) ; neuen Inhalt schreiben
FileClose($handle) ; Datei schließen
Next
Jetzt habe ich den Fall, wo nicht nur die in txt-Dateien, sondern auch in *bat und *.bprc die selbe Inhalt ersetzt werden soll.
Muss ich alle Zeilen noch zwei Mal kopieren und die Dateiendungen anpassen, oder geht es noch einfacher?
Ich habe es so versucht $array_1 = _FileListToArray($pfad, "*.bprc;*.txt;*.bat", 1)
Besten Dank vorab!
Viele Grüße,
Dino
Mein Mailprogramm ist Outlook 2010 und die E-Mail die ankommt ist im Rich-Text-Format.
Die Script sollen mehrere Leute benutzen. Die Account Daten von Benutzer zu Benutzer sind unterschiedlich.
Geht das ohne Eingabe der Mail-Account-Daten?
Hallo Leute,
ich habe das Problem, wenn ich mit der Script (siehe unten) von Schnitzel die E-mail verschicke, das die Umlaute im Betreff und der Nachrichtentext in der erhaltende E-Mail (siehe das Bild ganz unten) nicht korrekt dargestellt sind.
Lässt sich dies beheben?
[Blockierte Grafik: http://www.imgbox.de/users/public/images/3KLInWOt4U.jpg]
E-Mail.au3
[autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=send-mail.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <Array.au3>
#include <GUIConstantsEx.au3>
#include <Inet.au3>
Global $section, $combodata
$section = IniReadSection("Email.ini", "Emails")
Dim $Checkbox[$Section[0][0]+1]
_ArraySort($section, 0, 0, 0, 0)
$Form1 = GUICreate("e-mail Programm", 400, Round($section[0][0]/2)*20+290)
For $i = 1 To $Section[0][0]
$Checkbox[$i] = GUICtrlCreateCheckbox($Section[$i][0], 205 - Mod($i, 2)*200, 5 + (Round($i/2) - 1)*20, 190, 25)
Next
$label1 = GUICtrlCreateLabel("_________________________________________________________________", 5, (Mod($section[0][0], 2) +Round($i/2) - 1)*20 +4, 390, 25)
$label2 = GUICtrlCreateLabel("Betreff:", 5, 18 + (Mod($section[0][0], 2) +Round($i/2) - 1)*20, 390, 25)
GUICtrlSetColor(-1, 0x1B79D9)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Input1 = GUICtrlCreateInput(IniRead("Email.ini", "Standards", "Betreff", ""), 5, 35 + (Mod($section[0][0], 2) +Round($i/2) - 1)*20, 390, 25)
GUICtrlSetBkColor(-1, 0xFFFFE1)
$label2 = GUICtrlCreateLabel("Nachrichttext:", 5, 78 + (Mod($section[0][0], 2) +Round($i/2) - 1)*20, 390, 25)
GUICtrlSetColor(-1, 0x1B79D9)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Edit1 = GUICtrlCreateEdit(StringReplace(IniRead("Email.ini", "Standards", "Nachricht", ""), " |@CRLF| ", @CRLF) , 5, 95 + (Mod($section[0][0], 2) +Round($i/2) - 1)*20, 390, 100)
GUICtrlSetBkColor(-1, 0xFFFFE1)
$label3 = GUICtrlCreateLabel("Empfänger:", 5, 213 + (Mod($section[0][0], 2) +Round($i/2) - 1)*20, 390, 25)
GUICtrlSetColor(-1, 0x1B79D9)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Input2 = GUICtrlCreateInput("", 5, 230 + (Mod($section[0][0], 2) +Round($i/2) - 1)*20, 390, 25)
GUICtrlSetBkColor(-1, 0xA6CAF0)
$Button1 = GUICtrlCreateButton("Standards speichern", 5, 260 + (Mod($section[0][0], 2) +Round($i/2) - 1)*20, 150, 25)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Button3 = GUICtrlCreateButton("ini öffnen", 170, 260 + (Mod($section[0][0], 2) +Round($i/2) - 1)*20, 90, 25)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Button2 = GUICtrlCreateButton("Email senden", 275, 260 + (Mod($section[0][0], 2) +Round($i/2) - 1)*20, 120, 25)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetBkColor(-1, 0xC0DCC0)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox[1] To $Checkbox[$Section[0][0]]
$emails = ""
For $i = 1 To $Section[0][0]
If BitAnd(GUICtrlRead($Checkbox[$i]), $GUI_CHECKED) Then
$emails &= $Section[$i][1] & "; "
EndIf
Next
Guictrlsetdata($Input2, $emails)
Case $Button1
IniWrite("Email.ini", "Standards", "Betreff", GUICtrlRead($Input1))
IniWrite("Email.ini", "Standards", "Nachricht", StringReplace(GUICtrlRead($Edit1), @CRLF, " |@CRLF| "))
Case $Button2
_INetMail(GUICtrlRead($Input2), GUICtrlRead($Input1), GUICtrlRead($Edit1) & @CRLF)
WinWaitActive("[CLASS:rctrl_renwnd32]")
Send("^{End}")
Send("{ALTDOWN}h{ALTUP}g")
sleep(500)
Send("{ENTER}")
sleep(500)
Send("!s")
Case $Button3
Shellexecute(@ScriptDir & "\Email.ini")
EndSwitch
WEnd
Email.ini
[autoit]
[Emails]
Klaus=klaus@anbieter.de
Peter=peter@anbieter.de
Claudia=claudia@anbieter.de
Susi=susi@anbieter.de
Rodi=rodi@anbieter.de
[Standards]
Betreff=Projekt 60125 Köln Bürogebäude ist angelegt
Nachricht=Projektnr.: 60125 |@CRLF| Projektname: Köln Bürogebäude |@CRLF| ist unter T:\PRJ\2012 angelegt.
[Blockierte Grafik: http://www.imgbox.de/users/public/images/5O4w3r3g6M.jpg]
Viele Grüße,
Dino
Hallo Leute,
ich möchte mit AU3-Datei einige dll und ocx-Files registrieren. Bei jede registrierte Datei wird ein MsgBox angezeigt, den ich mit OK bestätigen muss. Diese habe ich in eine Schleife eingebaut.
Ist der Code richtig? Oder geht es noch einfacher?
#RequireAdmin
$Prog_Dir="C:\Programme\Cadtronic"
Do
Run('regsvr32' & " """ & $Prog_Dir & '\WeldingWizard.dll"')
Run('regsvr32' & " """ & $Prog_Dir & '\Dependencies/comdlg32.ocx"')
Run('regsvr32' & " """ & $Prog_Dir & '\Dependencies/mscomctl.ocx"')
Run('regsvr32' & " """ & $Prog_Dir & '\Dependencies/msflxgrd.ocx"')
Run('regsvr32' & " """ & $Prog_Dir & '\Dependencies/richtx32.ocx"')
Run('regsvr32' & " """ & $Prog_Dir & '\Dependencies/sssplt30.ocx"')
Run('regsvr32' & " """ & $Prog_Dir & '\Dependencies/tabctl32.ocx"')
Run('regsvr32' & " """ & $Prog_Dir & '\Dependencies/msxml4.dll"')
Run('regsvr32' & " """ & $Prog_Dir & '\Dependencies/scrrun.dll"')
Run('regsvr32' & " """ & $Prog_Dir & '\Dependencies/vbscript.dll"')
Sleep(100)
WinActivate("RegSvr32","")
ControlClick("RegSvr32", "","Button1")
until 0
Vielen Dank!
Viele Grüße,
Dino
Jetzt geht es
Es lag auch daran, dass in der Variable $InstallDir... am Ende im Pfad der Backslash zuviel war.
DANKE!!!