Batch-Aufruf unter AutoIt reagiert anders als der direkte Aufruf

  • Hallo Zusammen,

    nachdem ich mich nun fast zwei ganze Tage im www und auch ewig lange hier im Forum herumgetrieben habe, komme ich nicht umher jetzt hier doch um Hilfe zu bitten.

    Folgendes:
    Das Zählen von Dateien in Ordnern und deren Unterordnern scheint nicht so ganz einfach zu sein, wie ich dachte.
    Also habe ich einen einzeiligen Batchbefehl gefunden, der das hinbekommt (count.bat):

    Code
    @ECHO OFF
    dir /A /S "C:\Users\Public" | grep -A 2 "Anzahl der angezeigten Dateien:" > %TEMP%\sicherung.anz


    Diese Batch-Datei funktioniert auch einwandfrei.

    Versuche ich diese Batch-Datei nun aus einem AutoIt-Script heraus aufzurufen, wird die Datei "sicherung.anz" (Text-Datei!) nicht angelegt.

    [autoit]

    ShellExecute(@ScriptDir & "\count.bat", "", @ScriptDir, "edit", @SW_HIDE)

    [/autoit]

    Und dabei ist es egal, wo ich die Datei anlegen möchte, um Rechteeinschränkungen vorzubeugen.

    Ergänzung:
    Eigentlich brauche ich nur die Anzahl der Dateien...
    Statt dessen schreibe ich jetzt in eine Datei, lesen die zweite Zeile aus, lösche die Leerzeichen, splitte den String, und splitte ihn nochmal und voilá: Da ist meine Zahl!

    Das sollte doch eigentlich einfacher gehen, oder?!?
    Und wenn nicht, benötige ich Hife bezüglich der unterschiedlichen Verhaltensweisen.

    Vielen Dank vorab.


    Viele Grüße

    Einmal editiert, zuletzt von grayalphawolf (26. März 2014 um 11:54) aus folgendem Grund: Rechtschreibung

  • Wenn du die Namen der Files brauchst kannst du auch

    [autoit]

    #include <Array.au3>
    $aFiles = _FileListToArray(@ScriptDir, "*", 1)
    _ArrayDisplay($aFiles)

    [/autoit]

    nehmen

  • Hallo Oscar, hallo Skerg,

    Warum so kompliziert? Es gibt doch DirGetSize


    Das frage ich mich gerade auch... ;(

    Ganz ehrlich?!?
    Ich habe mir "GetDirSize" nicht angesehen / übersprungen, da ich bei dem Begriff von der Größe des Verzeichnisses und nicht von einer in der Funktion enthaltenen weiteren Ausgabe der Anzahl der Dateien ausgegangen bin...
    Man(n) sollte doch auch mal über seine Grenzen gehen und sich nicht von Begriffen blenden lassen...

    Vielen Dank euch beiden!
    Ihr habt meinen Tag bereits jetzt rund gemacht!

    Viele Grüße