Beiträge von bazii

    Der erste Index in einem Array fängt immer bei 0 an. Wenn das Array also 7 Spalten hat, gehen diese von 0 - 6!

    In der AutoIt-Hilfe zu _WinAPI_EnumFiles steht es sogar drin:

    Hallo


    und danke erstmal für die ausführliche Antwort.


    Ich habe mich schlecht ausgedrückt. Sorry.


    In meinem Beispiel-Code mit der Animation funktioniert das umbenennen der Dateinamen sehr gut.


    Das mit der Zahl 7 war nur ein Beispiel dafür, dass ab [$i][7] der nachfolgende Fehler auftritt.

    If BitAND(^ ERROR Du hast ja aber erklärt warum. Hatte das nicht berücksichtigt.


    Ich habe das in einigen meiner Projekte etwa so gelöst: Code: LPS_Manager.ini

    Das ganze Vorhaben mit einer .ini oder. txt umzusetzen wäre mir auch viel lieber.


    Die ConversionTables lade ich mir dann alle als Array in ein Array... ändert der User den Index für die aktuelle Tabelle, kopiere ich das benötigte Table-Array aus $g_aConversionTables[n] nach $g_aCurrentConversionTable.


    Vielen Dank für Deine sehr guten Lösungsansatz.


    Es wird für mich aber ohne weitere Hilfe, zu meinem geposteteten Code, wahrscheinlich nicht umsetzbar werden.


    Aber das eigentliche Problem das ich mit dem Array hatte, hast Du ja bereits gelöst.

    Zuerst das Wichtigste: _WinAPI_EnumFiles unterschlägt definitiv Files und womöglich auch Folders, denn es sind bei meinem Test 6 Einträge weniger im Array, als mit _FileListToArrayRec!

    Das hatt ich auch schon am Rande in mehreren Verzeichnissen bemerkt. Die Recursion funktioniert irgendwie nicht richtig.

    _FileListToArrayRec! : Schaue ich mir gleich mal an.


    Vielen Dank für den Hinweis. :thumbup:

    Hallo


    mit folgendem Beispielcode ist es möglich, bis zu sechs verschiedene Zeichenersetzungen, in Datei- und Verzeichnisnamen recursiv vorzunehmen.

    Versuche ich beispielsweise 10 verschiedene Zeichenersetzungen, bekomme ich einen Fehler:

    Array variable has incorrect number of subscripts or subscript dimension range exceeded.:

    If BitAND($aFilesFolder[$i][7], $FILE_ATTRIBUTE_DIRECTORY) Then _RenameRecursive($sPath & $aFilesFolder[$i][0])

    If BitAND(^ ERROR


    Warum das ganze:

    Es dürfen nur Buchstaben, Zahlen, Binde- und Unterstrich in meinenDatei- und Verzeichnisnamen zugelassen werden. Alle anderen Zeichen müssen aus bestimmten Gründen aus den Verzeichnis und Dateinamen entfernt werden.

    Jetzt sollte ich aber bis zu (geschätzten) 30 Varianten für verschiedene Zeichenersetzungen, in Datei- und Verzeichnisnamen recursiv vorzunehmen können.


    Würdet Ihr mir bitte das eine oder andere Beispiel nennen, wie Ihr das Vorhaben am sinnvollsten umsetzen würdet?

    Das sehe ich nicht als Alternative an.

    Bei einer Arbeitsumgebung, die der Programmierer selbst administrieren kann, trifft die von autoiter genannte Variante definitiv zu. Ich war bereits sehr dankbar um die genannte Alternative, damit ich meine Software auf einem geschäftlichen Server überhaupt noch zum laufen bekam.


    100% Zustimmung an Oscar, wenn ich eigentlich nur eine .exe Datei zum Download anbieten möchte.


    Einen Laufzeitcrypter schreiben und den AV-Herstellern einen Schritt voraus sein :>

    Ich bin der erste, wenn das denn funktionieren würde, der 50 € dafür spenden wird. :theke:

    Ich habe das Verhalten aller Virenscsanner satt.


    Zum programmieren und testen nutze ich seit ein paar Monaten ausschließlich eine komplett von Virenprogrammen losgelößte Arbeitsumgebung.


    Dann lade ich die Dateien zu Microsoft und somit zum freischalten der Dateien hoch. Mir hat der Defender unter Win10 seit dem letzten Release ALLES, selbst eine mit AutoIt kompilierte "Hallo Welt(Test-MsgBox).exe" rausgehauen. Seit dem lade ich jede .exe-Datei, die ich selbst mit AutoIt kompiliert habe, zu Microsoft hoch https://www.microsoft.com/en-us/wdsi/filesubmission und bekam bislang alle .exeDateien im Defender von Microsoft ohne Nachfragen freigeschaltet.


    Was halt richtig saudoof für Homepagebesucher (zukünftige Nutzer) ist, wenn man seine eigene Software (und somit seine Visitenkarte) zum Download und kostenfrei zur Verfügung stellt und nahezu 15-35 Virenscanner bei Virustotal auf die Software mit "False-Positive" anschlagen.


    Das ist aber auch bei z. B. NirSoft so. http://blog.nirsoft.net/2009/0…ache-to-small-developers/

    Die haben eine Litanei an "was ist false-Positive" und warum schlägt unsere Software bei Virenscannern Alarm.

    Hallo autoiter,


    danke für den Hinweis. Ja das geht im Nachhinein gesehen natürlich auch. Ich wollte baldmöglichst wieder eine doppelklickbare Verknüpfung zum Programmstart für die Kollegen auf dem Desktop haben.


    Gestern hatte ich vor Bäumen den Wald nicht mehr gesehen als meine seit Jahren in Benutzung stehenden .exen, allesamt vom neuen Virenscanner in Quarantäne geschoben wurden. Diese Virenscanner raubten mir noch den letzten Nerv.


    Dank der schnellen Hilfe von alpines war dann glücklicher Weise mein Puls wieder auf unter 200.

    Das hat geholfen! Herzlichen Dank.


    Somit funktionieren meine Programme ohne False-Positive Meldungen glücklicher Weise weiter.


    Wenn man das ganze portabel (also ohne die Installation von AutoIt) machen möchte, kann man einfach die die AutoIt3.exe unter C:\Program Files (x86)\AutoIt3 und den Includes-Ordner in den Skriptpfad kopieren. Die Batchdatei von Alpines muss dann noch entsprechend auf den Skriptpfad angepasst werden.

    Hallo


    unsere Firma hat wieder mal in einen neuen Virenscanner investiert.


    Mit dem Erfolg, dass der neue Virenscanner nicht mehr die Ausführung verschiedener mit Autoit kompilierten Programme zulässt.

    Unsere Sicherheitsexperten lassen sich leider auf keine Diskussionen ein, generelle Ausnahmen zu definieren. Zum <X ist das.


    ABER: Wenn ich meine Skripte auf die AutoIt3.exe unter C:\Program Files (x86)\AutoIt3 ziehe, startet das Programm perfekt und kann ohne False-Positive Meldung

    ausgeführt werden.


    Daher benötige ich benötige dringend einen Tip von Euch, wie ich aus einer CMD oder besser aus einer *.ink Verknüpfung heraus, direkt ein au.3 Skript mit der AutoIt3.exe starten kann. Den das bekomme ich nicht alleine hin und ist hoffentlich von allgemeinem Interesse.

    Gern geschehen und herzlichen Dank für die schnelle und saubere Umsetzung.

    Dass der sehr gut gestaltete Hinweis über "AKrypto" nur beim ersten Start mit einer MsgBox visualisiert wird, finde ich prima gelöst.


    Bei erneutem Test sind mir noch wenige, weitere Kleinigkeiten aufgefallen (Sag' wenns nervt :D).


    1) Beim ausführen von "Beta Run" erscheint folgende Nachricht in der Konsole: error: can't open include file <WinAPIIcons.au3>


    2) Beim ausführen von "Run" erscheint erscheint folgende Nachricht ((bei mir in Zeile 205 "If _VersionCompare(@AutoItVersion, "3.3.8.0") = -1 Then Global $WM_DROPFILES = 0x233":

    $WM_DROPFILES previously declared as a 'Const'


    3) Die ListView-Elemente "Type" und "Size" sind per Mausklick sortierbar, jedoch die Sortierung beider ListView-Spalten wird bei mir nicht richtig ausgeführt.


    4) Da "AKrypto" auf deutscher Sprachführung aufbaut, würde die entsprechende Spaltenbenennung in der Ausgangssprache des ListView Sinn machen.


    5) Wenn ich z. B. ein zusätzliches Tool mit kleinerem Fenster (irgend ein Programm) ausführe und über "AKrypto" lege und nach links oder rechts mit gedrückter linker Maustaste verschiebe, verschiebt sich bei "AKrypto" eines der zweigeteilten Fenster ungewollt mit. Tut nix böses aber fällt auf.

    Hallo Micha_he


    zunächst mal vielen Dank für die Bereitstellung des Quellcodes.


    Ich möchte Dir dafür ein kleines Feedback zurückgeben. :-D


    Mir ist bei einem Test mit kompilliertem AKrypto (x86) aufgefallen, dass


    1.)

    nach ausgeführten Doppelklick (im Listview) auf eine Word-Datei, das Verzeichnis "VaultTemp" angelegt wird.

    Soweit soll das auch so sein und ist so gewünscht.

    Was allerdings ein Sicherheitsproblem darstellen könnte ist, dass wenn man die geöffnete Datei (in meinem Fall eine Word-Datei vom Office 2010) geöffnet lässt, also AKrypto bei geöffneter Word-Datei schließt, dass dann (verständlicher Weise) das Verzeichnis "VaultTemp" wegen dem gültigen Bezug auf die Word-Datei, nicht gelöscht werden kann. Somit bleibt quasi "VaultTemp" ungelöscht und sicht- und einsehbar. Und das unverschlüsselt. Anders verhält es sich mit einer x-beliebigen editierbaren Datei, welche nach der Ausführung von "AKrypto" in Notepad++ geöffnet werden kann. Da wird der Bezug auf die geöffnete Datei getrennt. Anders bei z. B. Office-Dateien.


    a) Ggf. könntest Du eine MSG-Box einzubauen, dass wenn der Ordner "VaultTemp" nicht gelöscht werden kann, dem Benutzer vor dem beenden von "AKrypto" klargemacht wird, dass die geöffnete Datei vor dem beenden von "AKrypto" geschlossen werden muss. Oder AKrypto kann nicht beendet werden solange die Datei "xxx" geöffnet ist.


    b) Das öffnen einer Datei aus dem ListView heraus, deaktiviert wird aber das ist ja nicht Sinn der Sache.


    Ich bin der Meinung, dass etwas dazu getan werden sollte.


    2.)

    Wenn man "AKrypto" öffnet aber keine Dateien oder Ordner darin verschlüsselt hat, sondern jungfräulich wieder schließt, wird erneut ein (ich nenne es mal) Masterkennwort beim nächsten angefragt. Wenn ich jetzt aber das vorher vergebene Passwort eingebe, muss ich es erneut zweimal vergeben. Das ist ein wenig verwirrend für mich gewesen bis ich geblickt habe, dass keine verschlüsselte Passwortdatei angelegt wird.


    Nach dem ersten Start der Software hielte ich einen Tooltip oder eine Nachricht für "Anfänger" gut, welche darauf hinweist, dass Dateien oder Verzeichniss per Drag & Drop eingefügt werden können (als Kopie, denn das Original der Datei bleibt weiterhin unverschlüsselt), welche dann im Ausführungsverzeichnis unter dem Ordner "Vault" verschlüsselt werden.


    3.) Wofür Du nichts kannst aber unter Windows 10 halt echt nervt, ist dass der Windows Defender voll auf die kompillierte .exe anschlägt.


    Grundsätzlich finde ich Deine Software richtig klasse umgesetzt und halte es persönlich für vollkommend ausreichend, um portabel Dateien und Ordner zu verschlüsseln.

    Hallo


    ich benötige Eure Hilfe.


    Dieser Befehl klappt wunderbar.

    RunWait(@ComSpec & ' /c ' & 'ipconfig /all > ipconfig.txt' & '"', "", @WorkingDir, @SW_HIDE)

    Die Datei ipconfig.txt wird im Arbeitsverzeichnis gespeichert. Klappt wie es soll.


    Jetzt möchte ich dass die Datei im Verzeichnis @WorkingDir & "\Data\" abgelegt wird.


    Leider ohne Erfolg.


    Könnt Ihr mir bitte weiterhelfen?


    Edit: Das Verzeichnis "Data" besteht bereits.