Programm mit Batch Datei, "falsche" Ausgabe



  • Hallo Zusammen,

    Bräuchte mal wieder einen Input von der Community :), Ich habe in meinen Programm ein Befehl eingebaut, welches Batch Dateien ausführt, in der Batch Datei selber ist der Befehl zum Auflisten von Daten (dir).
    Der Befehl lautet bei mir im Programm so:

    for /r "%profile%" %%i in (*.*) do dir "%%i" /s /q | find "Domain\User" /i > nul && echo %%i >> C:\output.txt
    

    Dann sucht er alle Dateien vom User, schreibt sie auch in die TXT Datei, aber leider nur den Pfad der Datei, ich bräuchte auch noch die Dateigrösse.

    Wenn ich denn Befehl direkt in cmd Konsole eingebe, also

    dir /S /Q >> C:\Users\TestUser\desktop\test.txt
    

    , schreibt er mir auch die Dateigrösse hinein.

    Was mache ich da falsch? 😕

    Vielleicht hilft es ja, momentan sieht die txt. Datei so aus, wenn der Batch ausgeführt wird:

    C:\Users\TestUser\AppData\Local\Microsoft\Event Viewer\Settings.Xml

    Ich hätte noch aber gerne die Dategrösse dazu also sollte dann so aussehen:

    C:\Users\TestUser\AppData\Local\Microsoft\Event Viewer\Settings.Xml 200 bytes



  • Gehört wohl eher in die "Rund um die Programmierung" Abteilung.



  • Ok, Sorry für die falsche Einteilung, muss der Moderator den Thread verschieben oder kann ich das auch?



  • Verschieben können nur Moderatoren.
    Du könntest die Frage dort nochmals stellen und hier auf den neuen Eintrag verweisen.

    Simon



  • Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo Zusammen,

    Hatte den Beitrag leider im falschen Forum gepostet, danke noch für die Verschiebung. Könnte jemand mir bezüglich der gestellten Frage Hilfe leisten? Über einen Tipp wäre ich sehr dankbar.



  • Kennst sich niemand wirklich mit diesem Thema aus? Würde es Sinn machen, das in einem Systemtechnik Forum zu posten? Die kennen sich eventuell mit Batch Scripts besser aus als uns Programmierer?



  • Du kannst mit echo %%i %%~zi den Dateinamen gefolgt von seiner Größe ausgeben. Wenn du die Größe auf einer neuen Zeile willst, kannst du echo %%i && echo %%~zi nehmen. Deine Wunschausgabe bekommst du mit echo %%i %%~zi bytes .

    Mir erschließt sich aber zur Zeit nicht, warum du nicht Dateien und Größen gleich im aufrufenden Programm abrufst.



  • Hallo ipsec,

    Danke für deine Hilfestellung, hat mir echt weitergeholfen!
    Der Grund warum ich diese Befehle in einer Batch ausführe liegt daran, dass ich mehrere Computer im Netzwerk habe,wo ich die Dateien auflisten muss. Das Programm müsste sozusagen, Remote auf den Computer zugreifen und alle Daten des entsprechenden Users finden.
    Leider habe ich diese Methode gefunden um es zu realisieren. Ich benütze das Remote Command Tool "xcmd" welches Remote alle Dateien auflistet und in die txt. Datei speichert und danach lese ich einfach die txt. Datei in das Programm ein, wo ich dann sehe welcher User auf welchem Computer Dateien hat. Denkst du diese Methode ist nicht gut? Oder könntest du etwas anderes empfehlen?

    Und noch das wichtigtse für mich 🙂 Kann ich irgendwie einstellen das er anstatt bytes, Megabyte anzeigt?

    Hab lang gegooglet aber nichts gefunden, allgemein zu Batch Befehlen, gibt es eine Referenz Seite welches du empfehlen könntest? Wo man quasi sehen könnte das man %%~z bytes braucht um die Dateigrösse anzuzeigen ?

    Nochmals Danke für die Hilfestellung..



  • Habe ich leider keine Ahnung, ich hab auch nur nach "batch file size" gegoogelt.
    Remote ist natürlich wieder etwas anderes, prinzipiell geht da auch was über WMI, aber da ist eventuell doch dein Vorgehen besser. Ansonsten könntest du auch selbst ein kleines Programm schreiben, was die gewünschte Ausgabe erzeugt, und dieses mit xcmd remote ausführen.
    Zu den Megabytes: Berechnungen sind m.W. nur mit set und irgendeinem Parameter (ich glaube /a ) möglich. Damit kann man sich etwas basteln, aber wird natürlich mit der Zeit immer unübersichtlicher. Die Windows-Batch ist einfach nicht mächtig genug.



  • Ok, Danke nochmal werde dann mal schauen ob ich was zu MB Anzeige mache oder gleich so lasse, ansonsten halt Kopfrechnung 😃


Anmelden zum Antworten