1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. nuely

Beiträge von nuely

  • java.exe aufrufen mit ShellExecute funktioniert ab Java 8 nicht mehr

    • nuely
    • 26. Oktober 2015 um 11:18
    Zitat von alpines

    Nimm dafür lieber Run weil durch Run die Programme (soweit ich weiß) in der CMD gestartet werden und Java bei der Installation die Env-Variablen für die java.exe schreibt. Dann musst du bei Run einfach nur "java" als Programm angeben und fertig.

    Das kann ich bei ShellExecute auch. Ich benötige nicht die Pfadangabe wo die java.exe liegt.

  • java.exe aufrufen mit ShellExecute funktioniert ab Java 8 nicht mehr

    • nuely
    • 26. Oktober 2015 um 10:55

    Moin,

    scheinbar seit Java 8 legt Oracle den Path-Eintrag nicht mehr auf den bin-Ordner von Java, sondern auf C:\ProgramData\Oracle\Java\javapath. Und dort liegen dann Verknüpfungen, die auf die exe-Datei im bin-Ordner verweisen.
    Die AutoIt-Skripte, die mit ShellExecute die java.exe aufrufen funktionieren jetzt nicht mehr.

    Es kommt entweder die Meldung
    "Der Datei ist kein Programm zum Ausführen dieser Aktion zugeordnet. Installieren Sie ein entsprechendes Programm, oder erstellen Sie in der Systemsteuerung unter "Standardprogramme" ein Zuordnung, wenn bereits ein Programm installiert ist."
    Oder
    "C:\ProgramData\Oracle\Java\javapath\java.exe. Der angegebene Pfad ist nicht vorhanden. Überprüfen Sie die Pfadangabe, und wiederholen Sie den Vorgang."

    Mit Run funktioniert es wieder.

    Man kann auch den Path-Eintrag manuell ändern auf den bin-Ordner, dann geht es auch wieder.

    Meine Fragen:
    Weiß jemand ob das ein Bug in AutoIt ist?
    Wird sich das wieder ändern?
    Sollte ich alles auf Run umstellen?

    Gruß

  • FileListToArray im gesamten Verzeichnisbaum aber nicht rekursiv

    • nuely
    • 9. September 2014 um 14:04

    Jetzt passt es:


    FLwStr: 65215.8372248165 - 112738 Ergebnisse im Array
    FLwDict: 64167.1911188656 - 112738 Ergebnisse im Array
    FlwStrRek: 65602.6551034023 - 112738 Ergebnisse im Array

  • FileListToArray im gesamten Verzeichnisbaum aber nicht rekursiv

    • nuely
    • 9. September 2014 um 11:41

    Ich hab gesehen, dass du erst im Mai noch eine Änderung an der FlwStrRek gemacht hast, daher poste ich mal hier, obwohl es ein recht alter Post ist.

    Mit einem UNC-Pfad bekomme ich bei FlwStrRek nicht das richtige Ergebnis:


    FLwStr: 68115.0414806452 - 112727 Ergebnisse im Array
    FLwDict: 64252.1219274388 - 112727 Ergebnisse im Array
    FlwStrRek: 41.2127743281846 - 39 Ergebnisse im Array

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.6.1 2011.05.27)

    • nuely
    • 8. November 2010 um 20:51

    Moin,

    bei DirMove ist ein Fehler:

    Zitat

    If the destination already exists and the overwrite flag is specified then the source directory will be moved inside the destination.

    Zitat

    Wenn der Zielort schon existiert, und bei "flag" angegeben wird, dass nichts überschrieben werden soll, so wird das Quellverzeichnis in das Zielverzeichnis verschoben.

  • Problem DirMove

    • nuely
    • 8. November 2010 um 20:48

    Da ist dann wohl ein Fehler in der Übersetzung der Hilfe

  • Problem DirMove

    • nuely
    • 8. November 2010 um 20:24
    Zitat von i2c

    Ja, das funktioniert aber nur wenn du auch den Flag für's überschreiben setzt.

    Hä? In der Hilfe steht:

    flag [optional] dieser Parameter gibt an, ob eventuell schon existierende Dateien überschrieben werden sollen oder nicht.
    0 = (Standard) kein Überschreiben von bestehenden, gleichnamigen Dateien
    1 = Überschreiben gleichnamiger Dateien

    Wenn der Zielort schon existiert, und bei "flag" angegeben wird, dass nichts überschrieben werden soll, so wird das Quellverzeichnis in das Zielverzeichnis verschoben.

    Heißt für mich, flag soll 0 sein.

    Zitat von i2c

    Zu dem @error: DirMove() setzt kein @error sondern gibt 1 bzw. 0 zurück. Das @error das du dort abfängst stammt vom _ArrayDisplay().

    Stimmt. Gar nicht bemerkt.

  • Problem DirMove

    • nuely
    • 8. November 2010 um 13:51

    Also, jetzt klappt es. Obwohl als @error immer noch 0 zurückkommt.
    Den Sinn verstehe ich auch nicht ganz. Existiert hat außer dem Verzeichnis "2010-11" nichts.
    Und das was die Hilfe dazu sagt, war ja genau das was ich wollte: "Wenn das Zielverzeichnis schon existiert, das Quellverzeichnis in das Zielverzeichnis verschieben."

  • Problem DirMove

    • nuely
    • 8. November 2010 um 12:41

    In Benutzung sind sie nicht. Per Hand kann ich die Ordner verschieben.

    Der Benutzer ist eigentlich Admin, habs aber trotzdem mit eingebaut. Hat nichts bewirkt.

    Der "\" ist in $Sicherungslaufwerk mit drin (siehe auch Screenshot MsgBox).

  • Problem DirMove

    • nuely
    • 8. November 2010 um 11:29

    Moin,

    Ziel ist es am 1. jeden Monats mehrere passende Ordner in einen neuen Ordner zu verschieben.
    Beispiel der Ordnerstruktur und des Arrays siehe Anhang.
    Alle Ordner mit "2010-11-*" sollen nun in den Ordner "2010-11".
    DirMove liefert nun aber jedesman @error = 0.

    Woran kann das liegen?

    Spoiler anzeigen
    [autoit]

    ;Prüfen, ob neuer Monat
    If $Tag = 8 Then
    ;letzten Monat ermitteln
    ;~ If $Monat = 1 Then
    ;~ $Monat = 12
    ;~ $Jahr = $Jahr - 1
    ;~ Else
    ;~ $Monat = $Monat - 1
    ;~ EndIf
    ;Monatsordner anlegen
    If Not FileExists($Sicherungslaufwerk & $Jahr & "-" & $Monat) Then
    DirCreate($Sicherungslaufwerk & $Jahr & "-" & $Monat)
    EndIf
    ;Ordner des letzten Monats holen
    $Ordner =_FileListToArray($Sicherungslaufwerk, $Jahr & "-" & $Monat & "-*", 2)
    _ArrayDisplay($Ordner, "Ordner")
    ;Einzelne Ordner kopieren
    If @error = 0 Then
    For $i = 1 to $Ordner[0]
    MsgBox(0,"","'" & $Sicherungslaufwerk & $Ordner[$i] & "'" & " - " & "'" & $Sicherungslaufwerk & $Jahr & "-" & $Monat & "'")
    DirMove($Sicherungslaufwerk & $Ordner[$i], $Sicherungslaufwerk & $Jahr & "-" & $Monat, 0)
    MsgBox(0,"",@error)
    Next
    EndIf
    EndIf

    [/autoit]

    Laufwerk ist eine USB-Festplatte.
    Betriebssystem ist Windows Server 2003 (32-bit)

    Bilder

    • Neues Bild (4).jpg
      • 8,46 kB
      • 96 × 171
    • Neues Bild.jpg
      • 23,36 kB
      • 250 × 431
    • Neues Bild (1).jpg
      • 3,97 kB
      • 184 × 85
  • Fenster schließen verhindern

    • nuely
    • 11. April 2010 um 20:09

    Danke für den Hinweis.

    Ich habe etwas gefunden dazu hier:
    http://www.autoitscript.com/forum/index.php?showtopic=32823
    http://www.autoitscript.com/forum/index.php?showtopic=13341
    Einmal wird verwiesen auf hier:
    http://www.autoitscript.com/forum/index.php?showtopic=6577
    Die Seite scheint es aber nicht mehr zu geben.

    Dort steht auch wie man die Menüleiste ausblendet. Das benötige ich in meinem Fall aber nicht.

  • Fenster schließen verhindern

    • nuely
    • 11. April 2010 um 16:05

    Wenn ich das richtig verstehe kann ich mit ANYGUI nur Dinge hinzufügen und nichts entfernen.

    Aber der Tipp hat mir geholfen und ich habe etwas gefunden.

    [autoit]

    $SC_CLOSE = 0xF060

    [/autoit][autoit][/autoit][autoit]

    Run("notepad.exe")
    WinWait("Unbenannt - Editor")
    WinWaitActive("Unbenannt - Editor")

    [/autoit][autoit][/autoit][autoit]

    $Hwnd = WinGetHandle("Unbenannt - Editor")
    $menu = DllCall("user32.dll","hwnd","GetSystemMenu","hwnd", $Hwnd, "int",0)

    [/autoit][autoit][/autoit][autoit]

    DllCall("user32.dll", "int", "RemoveMenu", "hwnd", $menu[0] , "int", $SC_CLOSE, "int", 0x0)

    [/autoit]

    Weiß jemand den Befehl, wie ich es dann wieder einschalte?


    Was mir noch besser gefallen würde, wäre den Button nicht zu deaktivieren, sondern ein Schließen abzufangen und eine Nachricht anzuzeigen oder einen Befehl auszuführen. Weiß da jemand was?

  • Fenster schließen verhindern

    • nuely
    • 11. April 2010 um 14:32

    Ich werd das probieren.

    https://autoit.de/index.php?page=Thread&threadID=7942

  • Fenster schließen verhindern

    • nuely
    • 11. April 2010 um 14:15

    Es ist ein externes Fenster.

    Zitat von nuely

    Das Fenster soll ansonsten voll bedienbar bleiben.

  • Editor unter Opera

    • nuely
    • 11. April 2010 um 13:39

    Moin zusammen,

    unter Opera gibt es scheinbar ein Problem mit dem hier verwendeten Editor. Ich kann keine Posts erstellen. Ich muss dann immer zu FF wechseln.

  • Fenster schließen verhindern

    • nuely
    • 11. April 2010 um 13:35

    Moin zusammen,

    gibt es eine Möglichkeit das Schließen eines Fensters zu verhindern? Das Fenster soll ansonsten voll bedienbar bleiben.

  • Clipboard zeilenweise lesen

    • nuely
    • 1. April 2010 um 14:00
    Zitat von Schnitzel

    *g* ok dann solltest du aber nicht mit filereadline arbeiten ^^

    Ich dachte, wenn mit dem Dateihandle gearbeitet wird merkt er sich wo er steht und liest nicht von oben erneut.


    Danke bluelamp für die Optimierung der Version von Schnitzel. Wenn die Datei entfällt ist es sogar noch besser. Danke auch dir Schnitzel für deine Vorschläge.

  • Clipboard zeilenweise lesen

    • nuely
    • 1. April 2010 um 13:10

    Ja das funktioniert. Aber ist das nicht das, was man gerade nicht machen sollte?

    Siehe Hilfe:

    Zitat

    In Hinblick auf Geschwindigkeit ist es keine gute Idee, eine Datei zeilenweise einzulesen, indem der line-Parameter jeweils um 1 erhöht wird. Dadurch ist AutoIt gezwungen, die Datei jedesmal neu vom Beginn bis zur angegebenen Zeile einzulesen.

  • Clipboard zeilenweise lesen

    • nuely
    • 1. April 2010 um 12:31

    Moin,

    Ziel ist es den Inhalt des Clipboards zeilenweise zu lesen und zu verarbeiten. Dazu habe ich den Inhalt in eine Datei gespeichert, damit ich diese mit FileReadLine lesen kann. Allerdings wird dabei scheinbar nie das Ende der Datei erreicht. Woran kann das liegen?

    [autoit]


    $clip = ClipGet()
    $datei = FileOpen("txt.txt", 2)
    FileWrite($datei, $clip)
    FileClose($datei)
    $datei = FileOpen("txt.txt", 0)
    $clip = ''

    [/autoit][autoit][/autoit][autoit]

    While 1
    $zeile = FileReadLine($datei)
    MsgBox(0,"",$zeile)
    If @error = -1 Then ExitLoop EndIf
    ;Hier wird was mit der Zeile gemacht und $clip wieder gefüllt
    Wend

    [/autoit][autoit][/autoit][autoit]

    ClipPut($clip)

    [/autoit]
  • Computer-Info

    • nuely
    • 11. Februar 2010 um 10:08
    Zitat von UEZ

    Ich weiß, dass man ab Vista die Anzahl der Cores expliziet herauslesen kann (NumberOfCores / NumberOfLogicalProcessors in Win32_Processor), aber ich suche nach einer Möglichkeit für System kleiner Vista / Server2008.

    Teilweise scheint das auch bei XP zu gehen. Zu mindestens bei mir gibt es diese Variable. Bei anderen wieder nicht. Vielleicht liegt es an SP3 oder einem anderen Update. Wenn es diese Variable allerdings dann nicht gibt stürzt mein Script ab. Weiß jemand wie ich vorher prüfen kann ob es NumberOfLogicalProcessors gibt?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™