Du könntest ja auch deine .bat Datei in eine AutoIt-Exe unschreiben, welche ein #RequireAdmin am Anfang hat. ![]()
Beiträge von PainTain
-
-
Wie gesagt, wenn das Skript mit #RequireAdmin mit Admin-Rechten gestartet wird, haben alle anderen Programme, welche dann mit Run etc. gestarteten werden, genauso Admin-Rechte.
Das heißt, #RequireAdmin bewirkt, dass beim Start des Skriptes das UAC-Fenster kommt.
-
Entwender du startest das Skript direkt als Admin mit #RequireAdmin oder du verwendest
[autoit]RunAs
[/autoit] -
"Penny, wieso hast du dir das chinesische Schriftzeichen für "Suppe" rechts auf den Hintern tätowieren lassen?"
"Aber Sheldon, das heisst nicht Suppe sondern Tapferkeit! "
"Nein, heisst es nicht! Aber man muss wohl sehr tapfer sein, um seine Begeisterung für Suppe auf diese Weise zu demonstrieren!"

-
-
Trotzdem aber alles funktioniert, bekomme ich in der 1. Funktion unter Punkt "Download des zusätzlichen Contents" die Errormeldung [WARNING: §xmedia_user: possibly used before declaration]. Kann es sein, dass diese Warnug nur deshalb kommt, weil die Variablen chronologisch im Script vor der Funktion stehen in dem sie declariert werden und kann ich diese Warnung ignorieren?
Ja, solltest ignorieren können.
Wenn das Skript mal kompiliert ist, kommt sowieso keine Warnung mehr. -
Die UDF wäre zwar toll, aber scheinbar läuft diese nicht mehr.
Warum?
Fehlermeldungen, Skript, etc?Immer diese präzisen Fehlerbeschreibungen...

-
-
1. Der Button ... du hast die falsche Variable genommen.
2. Drück nächstes Mal mal Strg + T. Dann macht Tidy deinen Code einigermaßen lesbar

3. Deine Fehler waren, das du teilweise 2x EndFunc geschrieben hast oder es einfach vergessen.
Zudem deklarierst du auch immer wieder die Funktion Rechnen() neu...
Auch Zeile 115 - Wo sind die Klammern?

Vielleicht hab ich noch ein paar Fehler übersehen.
Ich würde dir sehr, sehr chessi's [Tutorial] Sauber Programmieren ans Herz legen
Und mithilfe der Zeilennummern, welche der Syntax-Checker ausspuckt, solltest du deine Fehler selbst finden können.
AutoIt macht die Fehlersuche sowieso schon sehr leicht, das es immer Zeilennummern anzeigt.//Edit: Das größte Problem ist mir gerade eben erst aufgefallen. Es wird niemals eine Funktion aufgerufen - daher rattert der Interpreter einfach drüber und fertig...
-
EDIT: Sein Script ist sogar falsch, da filelisttoarray ein 1-based Array zurückgibt und in Feld 0 wo seine Schleif anfängt eben kein Dateiname zu finden ist, sondern nur die Anzahl der Treffer. Außerdem ist die Pfadangabe für shellexecute unvollständig, da filelisttoarray nur die Dateinamen und nicht den Pfad zurückgibt. Man muss sich den Pfad also zusammensetzen.
Hier die korrigierte Fassung:
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <File.au3>
$sFS_JAVA = 'C:\DeinJavaOrdnerPfad\'$aFiles = _FileListToArray($sFS_JAVA, "*.msi", 1)
[/autoit] [autoit][/autoit] [autoit]For $i = 1 To $aFiles[0]
[/autoit]
ShellExecuteWait($sFS_JAVA & $aFiles[$i], $sInstParams)
Next
Uups...
Kommt davon wenn man Skripte einfach mal schnell im Browser schreibt, ohne wirklich hinzuschauen
@TE: Ich würde dir empfehlen, peethebee's Buch über AutoIt zu lesen.
Da du noch ein wenig unerfahren scheinst
-
Bei den Befehlen darfst du das [ ] nicht schreiben. In der Hilfe dient es lediglich dazu, optionale Parameter zu kennzeichnen.
Zudem gibt _FileListToArray() ein Array zurück, wie der Name schon sagt.
[autoit]#include <File.au3>
[/autoit][autoit][/autoit][autoit]$sFiles = _FileListToArray($sFS_JAVA, "*.msi", 1)
[/autoit][autoit][/autoit][autoit]For $i = 0 To $sFiles[0]
[/autoit]
ShellExecuteWait($sFiles[$i], $sInstParams)
Next -
Du könntest alles in ein Array einlesen und dann mit
[autoit]_ArraySort()
[/autoit]sortieren

-
Thread kann gelöscht werden, hier bekommt man wohl keine Hilfe und Friesel braucht zu lange, bis da mal was kommt.
Schade eigentlich.
Hier werden keine Threads gelöscht
Du kannst ihn aber den Thread-Präfix auf "gelöst" setzen, wenn du willst

-
-
-
Das heißt, wennich das komplette script später compilieren möchte komm ich um IniRead und IniWrite nicht rum?
und um Variable aus einer Ini-Datei auszulesen muß ich jede Einzelne in jedem Script separat mit IniRead einlesen?
[autoit]
Um komplette Sektionen einzulesen, kannst du auchIniReadSection()
[/autoit]verwenden.
Damit brauchst du nicht jeden Wert einzeln einlesen, sondern nur deine (drei) Sektionen. -
Das = wird automatisch eingefügt, du musst nur Schlüssel und Wert angeben.
[autoit]
So sollte es funktionieren:IniWrite($scriptpath & "data\config.ini", "Options", "$audiopath", $audiopath)
[/autoit]
Wieso der Fehler allerdings in der INI steht kann ich mir auch nicht erklären. Vielleicht ist der 4. Parameter optional, obwohl davon nichts in der Hilfe steht.Edit: PainTain Nope, das dürfe auch nicht funktionieren.
Uups
Sorry, hatte garnicht auf die Parameter geschaut. Hab nur den anderen Fehler gesehen :pinch:
-
[autoit]
IniWrite($scriptpath & "data\config.ini", "Options", "$audiopath=" & '"'$audiopath'"')
[/autoit]Hier hast du im letzten Parameter vergessen, den String mit & mit den Variablen zu verketten.
[autoit]IniWrite($scriptpath & "data\config.ini", "Options", '$audiopath="' & $audiopath & '"')
[/autoit]Wäre richtig

-
[autoit]
FileCreateShortcut("C:\example", @ScriptDir & "\example.lnk")
[/autoit]Funktioniert bei mir doch wunderbar.
Immer diese präzisen Problembeschreibungen... -
also, ich nehme an das war eine rhetorische frage.
der IMAP client, den du gepostest hast funktioniert nicht mehr, vielleicht den link checken, bevor du ihn postest?
Wie wäre es mit selber herausfinden, woran der Fehler liegt?
Ein wenig Selbstbetätigung wäre nicht schlecht!
Wir werden dir nicht alles vorkauen!Es gibt genug Dokumentationen im Internet zum IMAP-Protokoll.
Sollte ja nicht so extrem schwer/zeitwändig sein, da du ja den größten Teil schon vorgeschrieben hast.
Brauchst es ja nur noch anpassen...