Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Dateigröße mit Bordmitteln

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Dateigröße mit Bordmitteln

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      WolfgangFB last edited by

      Gibt es einen direkten Befehl, um die Dateigröße einer Datei zu ermitteln?

      M 1 Reply Last reply Reply Quote 0
      • M
        MCU @WolfgangFB last edited by MCU

        @wolfgangfb

        var fs = require('fs');
        const {size} = fs.statSync('backup/backup.json');
        log(size/1024); // KB
        log(size/(1024*1024)); // MB
        
        W 1 Reply Last reply Reply Quote 0
        • W
          WolfgangFB @MCU last edited by

          @mcu

          Danke, das habe ich gesucht. Frage: warum setzt Du "size" in geschweifte Klammern?

          M OliverIO paul53 3 Replies Last reply Reply Quote 0
          • M
            MCU @WolfgangFB last edited by

            @wolfgangfb Da die Antwort von fs.statSync('') ein Objekt ist und man nur die size haben möchte:

            {'dev':33,'mode':33261,'nlink':1,'uid':1001,'gid':1001,'rdev':0,'blksize':1048576,'ino':3096224743913964,'size':122867029,'blocks':239976,'atimeMs':1653732607019.0588,'mtimeMs':1650067255000,'ctimeMs':1653681143276.067,'birthtimeMs':1649193484247.149,'atime':'2022-05-28T10:10:07.019Z','mtime':'2022-04-16T00:00:55.000Z','ctime':'2022-05-27T19:52:23.276Z','birthtime':'2022-04-05T21:18:04.247Z'}
            
            1 Reply Last reply Reply Quote 1
            • OliverIO
              OliverIO @WolfgangFB last edited by

              @wolfgangfb

              Die Funktion gibt ein umfangreiches Objekt zurück.
              Durch eine relativ neue Erweiterung des JavaScript Standards kann man ein oder mehrere Attribute dieses Objekts relativ einfach in eigene Variablen speichern und weiter verwenden.
              In diesem Fall wird die Eigenschaft size des Objekts in die variable size gespeichert

              https://www.geeksforgeeks.org/node-js-fs-statsync-method/

              https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @WolfgangFB last edited by

                @wolfgangfb sagte: warum setzt Du "size" in geschweifte Klammern?

                Das ist eine andere Schreibweise für

                const size = fs.statSync('backup/backup.json').size;
                
                W 1 Reply Last reply Reply Quote 0
                • W
                  WolfgangFB @paul53 last edited by

                  @paul53

                  Wieder was gelernt, das wusste ich noch nicht.

                  1 Reply Last reply Reply Quote 0
                  • wcag22
                    wcag22 last edited by

                    Re: Dateigröße mit Bordmitteln

                    Ok, die Forensoftware schlägt vor, ein neues Thema aufzumachen, sei es drum:
                    Also:

                    var fs = require('fs');
                    const {size} = fs.statSync('backup/backup.json');
                    

                    Nach der Umstellung auf ESM ist der Aufruf in Zeile 1 wohl deprecated, oder?
                    Vorgeschlagen bzw. berichtigt wird nun zu:

                    import fs from 'fs';
                    

                    Auch nach sehr langem Bemühen des Webs finde ich für die Zeile 2 (Zuweisen zur Variablen) keine passende Lösung (oder ich habs nicht verstanden...).

                    Kann Jemand helfen? - Danke.

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @wcag22 last edited by Homoran

                      @wcag22 sagte in Dateigröße mit Bordmitteln:

                      die Forensoftware schlägt vor, ein neues Thema aufzumachen,

                      Ist hier ja von 2022, bietet dir aber auch an, hier weiterzumachen.

                      hab's mal zusammengeführt, ist ja sooo alt nicht, und sollte auch noch nicht veraltet sein.

                      oder doch?
                      @wcag22 sagte in Dateigröße mit Bordmitteln:

                      wohl deprecated

                      was ist denn ESM?
                      Wikipedia war da nicht sehr hilfreich
                      https://de.m.wikipedia.org/wiki/ESM

                      wcag22 1 Reply Last reply Reply Quote 0
                      • wcag22
                        wcag22 @Homoran last edited by Homoran

                        @homoran

                        Moin,

                        erstmals darauf aufmerksam geworden am 19.06.24 beim Meeting für ioBroker Core/Dev/Admin

                        "JS-Controller läuft jetzt als ESM Module",

                        Dann:

                        esm-modul.png

                        Soweit ich das verstanden (?) habe, hängt das mit der node-Version zusammmen.

                        How To Use ESM: https://byteofdev.com/posts/how-to-use-esm/

                        Alle Angaben ohne Gewähr

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @wcag22 last edited by

                          @wcag22 Danke!
                          Da soll dann mal ein Wissender was zu sagen

                          1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO last edited by OliverIO

                            @homoran

                            Hier mal ein Vergleich der verschiedenen modulsysteme bei JavaScript
                            https://joeattardi.dev/comparison-of-javascript-modules

                            Ziel ist irgendwann mal ES modules.
                            Es gibt (und wahrscheinlich noch sehr lange) immer noch viele commons Modul Bibliotheken,

                            https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/import

                            1 Reply Last reply Reply Quote 0
                            • wcag22
                              wcag22 last edited by wcag22

                              @oliverio
                              Moin,

                              auch wenn Du mich vermutlich bewusst nicht erwähnt hast ( 🙂 ) Danke für die Links. Habe sie mir für späteres gründliches Lesen vorgemerkt.
                              Leider komme ich - zunächst ad hoc - auch nicht weiter:

                              Das führt sofort zum Fehler:

                              import {size} from '/media/tapo_report.jpg';
                              

                              Die Frage, wie man nach dieser Methode die Dateigröße ausliest und einer Variablen zuweist, bleibt damit zunächst offen.

                              @Homoran
                              Vielleicht findet sich ja noch ein von Dir erwähnter Wissender 🙂

                              Schönes WE

                              Edit:
                              Das obige Beispiel ist natürlich Unsinn. Soo kann ich nix importieren. Schnellschuss halt...

                              Asgothian 1 Reply Last reply Reply Quote 0
                              • Asgothian
                                Asgothian Developer @wcag22 last edited by Asgothian

                                @wcag22 sagte in Dateigröße mit Bordmitteln:

                                @oliverio
                                Moin,

                                auch wenn Du mich vermutlich bewusst nicht erwähnt hast ( 🙂 ) Danke für die Links. Habe sie mir für späteres gründliches Lesen vorgemerkt.
                                Leider komme ich - zunächst ad hoc - auch nicht weiter:

                                Das führt sofort zum Fehler:

                                import {size} from '/media/tapo_report.jpg';
                                

                                Die Frage, wie man nach dieser Methode die Dateigröße ausliest und einer Variablen zuweist, bleibt damit zunächst offen.

                                @Homoran
                                Vielleicht findet sich ja noch ein von Dir erwähnter Wissender 🙂

                                Schönes WE

                                Edit:
                                Das obige Beispiel ist natürlich Unsinn. Soo kann ich nix importieren. Schnellschuss halt...

                                Du musst das was oben steht durchaus auch 'korrekt' umsetzen:

                                Mit dem 'import' befehl importierst du eine Bibliothek. Damit ersetzt import fs from 'fs' nur var fs = require('fs') In der muss dann die Funktion aufgerufen werden die die Daten liefert::

                                import fs from 'fs'; 
                                const {size} = fs.statSync('/media/tapo_report.jpg');
                                
                                

                                A.

                                wcag22 1 Reply Last reply Reply Quote 0
                                • wcag22
                                  wcag22 @Asgothian last edited by

                                  @asgothian sagte in Dateigröße mit Bordmitteln:

                                  Erst einmal danke für die Rückmeldung und die Erklärung.

                                  Du musst das was oben steht durchaus auch 'korrekt' umsetzen:

                                  Ja klar 🙂 , aber das war ja eben mein Verständnisproblem

                                  Mit dem 'import' befehl importierst du eine Bibliothek. Damit ersetzt import fs from 'fs' nur var fs = require('fs') In der muss dann die Funktion aufgerufen werden die die Daten liefert::

                                  Ok, das haste gut erklärt. Wieder was gelernt. Also danke-danke...

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  970
                                  Online

                                  31.7k
                                  Users

                                  79.7k
                                  Topics

                                  1.3m
                                  Posts

                                  7
                                  15
                                  417
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo