Anfängerfrage

  • Hallo. Bevor ich mich an Autoit ranmache, würde ich gern wissen, ob autoit das richtige für mein Vorhaben ist.
    Ich brauche was ganz schlichtes!. Folgendes muss automatisiert werden.
    Ich kriege Daten als einzelne TXT-files vom Server ´gesendet. Mein Problem, dass diese TXTs alle im ANSI Format sein müssen. Widows Editor ist hierfür eigentlich perfekt. man kann einen unicodeTXT-File öffnen und als ANSI speichern. So mache ich das gerade auch.
    Nun meine Fragen:
    - Kann ich das mit Autoit automatisieren?
    - Hat autoit einen Timer, der wie cronjobs Aufgaben erledigt?
    - Muss ich die Software Autoit öffnen um diese Scripte auszuführen?
    - Kann man diese Scripte per Shell starten?


    PS: Wenn ihr einen besseren Weg kennt, um das obrige Vorhaben zu realisieren, wäre ich euch dankbar, wenn ihr es mir sagen könntet.

  • Notepad-Automatisierung ist problemlos möglich.
    AutoIt hat zwar keinen eingebauten "Timer", aber du kannst das sehr einfach selber programmieren
    Um die Skripte auszuführen, klickst du entweder doppelt auf die .au3-Datei, oder du compilierst die Datei, sodass du eine .exe-Programmdatei hast, und führst diese aus
    Ja, AutoIt-Skripte lassen sich problemlos über die Shell starten

    Bezüglich P.S.: Man kann mit AutoIt bestimmt die Dateien ohne Umweg über den Editor von Unicode zu ANSI umwandeln

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

    • Offizieller Beitrag

    Alle anderen Fragen sind schon beantwortet. :D
    Du brauchst Notepad nicht automatisieren, sondern kannst die Datei direkt umwandeln. Nicht getestet, aber sollte laufen:

    [autoit]

    #Include <WinAPI.au3>
    Local $fh = FileOpen('UniCodeFile.txt', 32) ; Windows default mode UTF16 Little Endian
    Local $strUC = FileRead($fh)
    Local $len = StringLen($strUC) +1
    FileClose($fh)
    Local $tString = DllStructCreate("wchar[" & $len & "]")
    DllStructSetData($tString, 1, $strUC)
    Local $strANSI = _WinAPI_WideCharToMultiByte(DllStructGetPtr($tString))
    FileWrite(@ScriptDir & '\meineANSI.txt', $strANSI)

    [/autoit]