Windows Pfad öffnen, Dateien gleich nach Neuesten sortieren und große Symbole anzeigen

  • Hallo zusammen,

    ich muss einen Windows Pfad öffnen, indem die Dateien automatisch nach den neuesten Dateien sortiert und alles mit großen Symbolen angezeigt wird.
    Ich öffne den Pfad so z.B.:
    ShellExcecute ("C:\Users\Roland\Documents")

    Kann ich da jetzt Parameter hinterlegen, die mir mein Vorhaben ermöglichen? Die Autoit-Hilfe, ist ziemlich unbrauchbar, da da nicht mal aufgelistet wird, welche Parameter zu Verfügung stehen.

    Ich hoffe ihr könnt mir hier weiter helfen.

  • Die Autoit-Hilfe, ist ziemlich unbrauchbar, da da nicht mal aufgelistet wird, welche Parameter zu Verfügung stehen.

    Die optionalen Parameter werden dem Programm von AutoIt beim Aufruf übergeben. Was das Programm mit den Parametern anstellt und/oder ob es diese versteht, interessiert AutoIt nicht die Bohne.

    In deinem Fall wäre die korrekte Frage, welche Parameter der Windows Explorer (explorer.exe) akzeptiert... den du mit Run() aufrufen kannst.

    Run(@WindowsDir & "\explorer.exe /N, " & "C:\Users\Roland\Documents", "", @SW_SHOW)

    Befehlszeilenoptionen für Windows-Explorer

  • Ok super danke, aber laut der online Hilfe von Autoit, kann man "run" keine Parameter mitgeben, außer "sw.." für die Art, wie er das Fenster öffnen soll und opt_flag, wo ich gar nicht weiß, wofür das ist. Also ich sag es mal so, ich hab noch nicht so viel Ahnung von Autoit und muss mich da jetzt erstmal reinfuchsen. Kannst du mir da nicht vielleicht ein Tipp geben?

  • laut der online Hilfe von Autoit, kann man "run" keine Parameter mitgeben

    Oh ja, das stimmt... ist mir noch gar nicht aufgefallen, weil es für mich selbstverständlich war, da die Funktion sonst ja nur bedingt Sinn macht. Nichtsdestotrotz ist dies eine wirklich gemeine Unterschlagung in der Hilfe und sollte dringend korrigiert werden. <X

    Nun, jetzt weißt du aber, dass du mit der Funktion Run() und ShellExecute() Befehle - genauso wie in der Eingabeaufforderung - mit Parametern aufrufen kannst.


    Funktion Run()
    opt_flag [optional] Steuert verschiedene Optionen, die die Interaktion zwischen Parent- und Child-Prozess betreffen (STDIO). Parent-Prozess = dein Script, dass die Run() Funktion aufruft, Child-Prozess = der mit Run() gestartete Befehl.


    Kannst du mir da nicht vielleicht ein Tipp geben?

    Wollte gerade sagen, dass ich es auch noch nicht so lange mit AutoIt treibe, doch ein Blick in mein Profil sagt anderes: 22. Februar 2009. :D

    Ok, versuchen wir es mal...

    Ich sehe zwei Möglichkeiten, dein Vorhaben zu realisieren.
    1.) Nach Starten des Explorers änders du mit Control-Befehlen die Ansicht entsprechend deinen Wünschen.
    2.) Du erstellst eine eigene GUI mit einem ListView in Icon-Ansicht und besorgst dir alle nötigen Daten dafür selbst.

    Für dich kommt wohl nur die erste Option infrage... doch auch diese dürfte derzeitig eine unknackbare Nuss für dich sein, da deine AutoIt-Kenntnisse dafür sicher nicht ausreichen, was an deiner Fragestellung erkennbar ist.

    Deshalb habe ich dir ausnahmsweise mal auf die Schnelle ein kleines Demo-Script erstellt, dass diese Aufgabe erledigen sollte - getestet unter Windows 10 x64.

    Mehr Infos als Kommentar im Script.

    Explorer Ansicht und Sortierung ändern

    Klick-Koordinaten.png

    Einmal editiert, zuletzt von Bitnugger (8. September 2016 um 05:56)

  • Also, habe mir das eigentlich etwas einfacher vorgestellt, dass man z.B. beim "Run-Befehl", einfach ein paar Parameter hinzufügt, die das erledigen, scheinbar ist das nicht möglich.
    Ich danke allen, dass ihr euch mit meinem Problem befasst habt und danke auch bitnugger, für das Skript, finde ich cool, wie man sowas in kurzer Zeit schreiben kann, auch wenn ich nicht gedacht hätte, dass man für so eine simple Aufgabe, 226 Zeilen braucht.^^
    Leider hat, nach ein paar mal testen, die "$WinList < §Instance"-Abfrage nicht mehr funktioniert und hat dauernd eine Fehlermeldung gebracht, ich habe es jetzt ganz ganz einfach gelöst, auch wenn das mit "Programmieren" gar nichts mehr zu tun hat. Ich habe das Fenster ganz normal mit ShellExecute geöffnet und habe den Rest, mit "Send-Befehlen" gelöst, ich wusste nicht das man das alles, mit der Tastatur auch lösen kann.
    Und noch was an Bitnugger, ich finde die ironisch gemeinten Sprüche von dir unpassend, weil klar kennst du dich besser aus, du machst es ja schon länger und ich habe gesagt, dass ich gerade erst anfange. Es sollte ja eigentlich z.B. bei einer Online-Hilfe so sein, dass da alles über die Befehle steht und diese Online-Hilfen sind ja bevorzugt für Anfänger, für die manche Sachen nicht so selbstverständlich sind. Auch du hast mal angefangen und dich bestimmt z.B. gefragt "Ähh.. was is ne Variable und wozu ist die gut ??? Oo" oder bist du auf die Welt gekommen und hast am selben Tag dein erstes AutoIt-Skript geschrieben? Ich denke nicht, ich wende mich an ein Forum, weil ich Hilfe brauche und nicht weil ich mir kindische Sprüche von gesandten des Programmiergottes durchlesen will.

    Trotzdem noch DANKE für alles und ich hoffe ich kann mich bei meinem nächsten Problem wieder an euch wenden.

  • Und noch was an Bitnugger, ich finde die ironisch gemeinten Sprüche von dir unpassend,

    Sprüche? Ich bin wirklich sehr erstaunt, dass gleich mehrere meiner Sätze ironisch auf dich wirken... ich habe jedenfalls kein einziges Wort ironisch gemeint!

    auch wenn ich nicht gedacht hätte, dass man für so eine simple Aufgabe, 226 Zeilen braucht.

    Die Leer-/Debug-/Kommentar-Zeilen solltest du dann aber nicht mitzählen - es war auch nicht das Ziel, ein möglichst kurzes Script abzuliefern, sondern ein möglichst gut lesbares.


    und diese Online-Hilfen sind ja bevorzugt für Anfänger, ...

    Wer erzählt denn solchen Unfug?


    Auch du hast mal angefangen ...

    Ja natürlich habe auch ich mal angefangen... 1982 mit Commodore BASIC V2 auf dem C64, und da gab es noch kein Internet bzw. Online-Hilfen - das war eine völlig andere Welt!


    Eines ist jedenfalls sicher - für DICH werde ich nie wieder meine Zeit verschwenden!

    Einmal editiert, zuletzt von Bitnugger (9. September 2016 um 14:32)

  • Ja und die Steigerung war dann ein Arari ST. Mit Turbo Pascal. Aber gefühlt waren die Handbücher trotzdem besser als heute. Vielleicht weil jeder gewußt hat, wenn es nicht im Handbuch steht - was dann...

    Heute machen wir Hilfetexte nach dem Motto - wenn ers nicht versteht kann er ja im Forum fragen?

    EIn wenig detailierter könnte die Autoit Hilfe ab und an schon sein. Siehe mein Waterloo mit fileopen....

    Gruß

    Peter

    PS.: Doch ja - die Heimcomputer von damals hatten Charme :)

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Oh ja, das stimmt... ist mir noch gar nicht aufgefallen, weil es für mich selbstverständlich war, da die Funktion sonst ja nur bedingt Sinn macht. Nichtsdestotrotz ist dies eine wirklich gemeine Unterschlagung in der Hilfe und sollte dringend korrigiert werden.

    Also wenn das, keine Ironie war, dann weiß ich auch nicht, ich habe das jedenfalls vollkommen als Ironie interpretiert und habe ich mich da etwas verarscht gefühlt.

    Die Leer-/Debug-/Kommentar-Zeilen solltest du dann aber nicht mitzählen - es war auch nicht das Ziel, ein möglichst kurzes Script abzuliefern, sondern ein möglichst gut lesbares.

    Und wegen deinem Skript, hast du es falsch verstanden, es war keinesfalls eine Kritik, eher habe ich es bewundert und fand es echt Hammer, dass du so ein Skript in so kurzer Zeit schreiben kannst und dann hat es mich halt etwas erschrocken, dass das Skript so lang sein muss, da die Funktion, ja eigentlich simpel ist. Aber das zeigt, denke ich nur, dass ich noch viel lernen muss.

    Naja, natürlich schauen auch erfahrene Programmierer in die Online-Hilfen, aber es nutzen ja vor allem Anfänger, denke ich, um überhaupt mal weiter zu kommen. ^^

    Ja natürlich habe auch ich mal angefangen... 1982 mit Commodore BASIC V2 auf dem C64, und da gab es noch kein Internet bzw. Online-Hilfen - das war eine völlig andere Welt!

    Das ist cool, denn der erste PC, an dem ich saß, war auch ein C64, aber leider war ich da so klein, dass ich noch nichts programmieren konnte, ich habe mich gefreut, wie sau, als ich eine Diskette zum laufen gebracht habe und das Spiel gestartet ist =)
    Die Handbücher, konnte ich da leider auch noch nicht so ganz lesen, da ich froh war, das Alphabet auswendig aufsagen zu können ^^

    Eines ist jedenfalls sicher - für DICH werde ich nie wieder meine Zeit verschwenden!

    Verärgern wollte ich dich bestimmt nicht, das liegt vermutlich daran, dass du manches vollkommen falsch verstanden hast, und der Grund, warum ich dich etwas "angegriffen" habe ist, ich lese viel in Foren und mich regt das immer auf, wenn die Fragesteller immer nur verarscht werden, weil sie gerade am Anfang sind und halt nun mal dumme Fragen stellen, du hattest doch bestimmt auch viele dumme Fragen, als du angefangen hast, die hat doch jeder wenn man nicht durchblickt =)

    Ich bin dir sehr dankbar für deine Hilfe und vor allem, für dein Skript, da ich aus dem Skript viel lernen kann und hoffe dass meine nächste Aufgabe, auch so gut gelöst wird. =)