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.
    • 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

                                1.0k
                                Online

                                31.7k
                                Users

                                79.7k
                                Topics

                                1.3m
                                Posts

                                7
                                15
                                419
                                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