Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Datei auf win7-Laptop löschen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Datei auf win7-Laptop löschen

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active last edited by

      Hallo,

      wie ich eine Datei mit "fs.writeFile" erstellen oder mit "fs.copyfile" kopieren kann hab ich hinbekommen.

      Nur wie kann ich eine Datei löschen.

      Habe schon mit fs.deleteFile probiert als auch mit fs.unlink.

      Klappt nur nicht.

      Ganz konkret:

      Welchen Befehl benutzt man um per Script eine Datei in einem Verzeichnis löschen.

      Könnt ihr mir da mal helfen?

      Danke.

      mfg

      1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active last edited by

        Hat sich erledigt.

        Unlink klappt.

        1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active last edited by

          Habe mein System auf einem neuen Win10 Laptop mit der stabilo-version mal neu aufgesetzt.

          Nun funktioniert der "fs.unlink" nicht mehr.

          Auch der einfache Test mit :

          var fs = require('fs');
          fs.unlink('//ASUS-BUERO/iobroker/Daten/test.txt');
          
          

          klappt nicht.

          Hat hier jemand mal einen Tipp für mich.
          Hat sich durch die stabilo-Version etwas geändert ?

          mfg
          Dieter

          Stabilostick 1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active last edited by bahnuhr

            So, habe den Scriptteil nun auf beiden Rechner probiert.

            Win7 mit alter iob Installation: unlink klappt

            Win10 mit iob stabilo: unlink klappt nicht; Fehler im log.

            Es liegt also entweder an
            Win10 oder an der neuen Installationroutine von stabilo...

            Kann mir irgend wer mal helfen ?
            wie grenze ich das ganze ein ?

            mfg

            1 Reply Last reply Reply Quote 0
            • Stabilostick
              Stabilostick @bahnuhr last edited by Stabilostick

              @bahnuhr

              Kannst Du das Script bitte um eine Fehlerausgabe ergänzen? So z.B. in etwa:

              fs.unlink('path/file.txt', (err) => {
                if (err) throw err;
                console.log('path/file.txt was deleted');
              });
              

              Genau so kann es sich um ein Rechteproblem handeln. ioBroker hat nur eingeschränkte Rechte auf dem System. Aber das bekommen wir heraus.

              1 Reply Last reply Reply Quote 0
              • bahnuhr
                bahnuhr Forum Testing Most Active last edited by

                ok, Script geändert in:

                var fs = require('fs');
                
                fs.unlink('//FUJITSU-BUERO/iobroker/Daten/test.txt', (err) => {
                  if (err) throw err;
                  console.log('path/file.txt was deleted');
                });
                

                Im Log kommt:

                host.Fujitsu-Buero	2019-07-27 06:59:58.118	error	instance system.adapter.javascript.0 terminated with code 0 (OK)
                host.Fujitsu-Buero	2019-07-27 06:59:58.118	error	Caught by controller[0]: path: '\\\\FUJITSU-BUERO\\iobroker\\Daten\\test.txt' }
                host.Fujitsu-Buero	2019-07-27 06:59:58.118	error	Caught by controller[0]: syscall: 'unlink',
                host.Fujitsu-Buero	2019-07-27 06:59:58.118	error	Caught by controller[0]: code: 'EPERM',
                host.Fujitsu-Buero	2019-07-27 06:59:58.118	error	Caught by controller[0]: errno: -4048,
                host.Fujitsu-Buero	2019-07-27 06:59:58.118	error	Caught by controller[0]: ]
                host.Fujitsu-Buero	2019-07-27 06:59:58.118	error	Caught by controller[0]: { [Error: EPERM: operation not permitted, unlink '\\FUJITSU-BUERO\iobroker\Daten\test.txt'
                

                mfg
                Dieter

                1 Reply Last reply Reply Quote 0
                • bahnuhr
                  bahnuhr Forum Testing Most Active last edited by

                  copy Befehl klappt nicht:

                  var fs = require('fs');
                  
                  fs.copyFile("//FUJITSU-BUERO/SmartHome/node_modules/iobroker.sayit/sayit.2.say.mp3","//FUJITSU-BUERO/Daten/iobroker/1_Sound/2_sayit.mp3", (err) => {
                      if (err) throw err;
                  });
                  

                  Im log kommt:
                  337ede10-f767-478f-95fb-b9ebfd57c5e2-image.png

                  Hat dies auch was mit diesen Rechten zu tun?

                  Stabilostick 1 Reply Last reply Reply Quote 0
                  • Stabilostick
                    Stabilostick @bahnuhr last edited by

                    @bahnuhr

                    Ich gehe davon aus. Der Windows-Benutzer, mit dem der ioBroker-Dienst läuft, hat IMHO (E-rror PERM-issions) nicht die erforderlichen Rechte, auf den Netzwerkshare zuzugreifen. Wenn der Share-Zugriff sein muss, dann entweder das Recht des Shares anpassen (Jeder/Gäste?) oder den ioBroker-Dienst mit einem Windows-Benutzer laufen lassen, der auf den Share zugreifen darf und der die für ioBroker nötigen lokalen Systemrechte hat.

                    Stabilostick 1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active last edited by

                      Hallo Stabilo...

                      ich versteh nur bedingt was du meinst.

                      Aber ich bei "Jeder" auf die Ordner

                      ...node_modules_iobroker.sayit ....
                      und
                      Netzlaufwerk
                      //fujitsu-buero...

                      Vollzugriff erteilt.

                      Funktioniert aber trotzdem nicht.

                      1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active last edited by

                        Nochmal ganz konkret:

                        Was muss ich tun um die Datei "sayit.2.say.mp3" im Ordner ..node_modules/iobroker.sayit/..
                        auf einen Ordner zu kopieren, der freigegeben ist im Netz.

                        Und diese kopierte Datei möchte ich dann auch löschen.

                        Mit der alten iob installation hat dies einwandfrei per script "fs-Befehle" geklappt.

                        mfg

                        1 Reply Last reply Reply Quote 0
                        • bahnuhr
                          bahnuhr Forum Testing Most Active last edited by

                          So, ich habe aufgegeben.

                          Thema: Win10 und neuer iob staboli Version -> beendet !

                          Mit dem alten Rechner: Win7 und alter iob Version klappt dies einwandfrei.

                          Für mich erst einmal erledigt.

                          Benutze wieder meinen alten Rechner.

                          1 Reply Last reply Reply Quote 0
                          • bahnuhr
                            bahnuhr Forum Testing Most Active last edited by

                            Bitte mal prüfen ob

                            js.unlink

                            Probleme hat mit node 10.

                            Ich meine das gelesen zu haben.

                            mfg

                            Stabilostick 1 Reply Last reply Reply Quote 0
                            • Stabilostick
                              Stabilostick @bahnuhr last edited by Stabilostick

                              @bahnuhr

                              Kannst Du mir Dein Script zum Testen zur Verfügung stellen?

                              Jeder Netzwerkshare (=Freigabe) hat zwei Berechtigungen: einmal auf das Filesystem (Zugriffsberechtigungen auf Ordner und Dateien) das über die Freigabe freigegeben wird und einmal auf die Freigabe selbst (=wer darf die Freigabe auf welche Art (darüber lesend/schreibend) benutzen). Das muss beides zusammenpassen.

                              Das fs.unlink() Probleme mit Node.js 10 haben soll, ist mir neu. Hast Du einen Link?

                              bahnuhr 1 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active @Stabilostick last edited by

                                @Stabilostick sagte in Datei auf win7-Laptop löschen:

                                Hast Du einen Link?

                                https://github.com/gruntjs/grunt-contrib-jasmine/issues/266

                                Habe aus meinem Script die beiden Baustellen raus kopiert:
                                fs.copy:

                                // Dateien kopieren
                                    function Dateien() {
                                        setTimeout(function() {
                                            fs.copyFile("//ASUS-BUERO/ioBroker/iobroker-data/files/vis.0/mp3/" + getState('javascript.0.Status.Yamaha.Sound').val,"//ASUS-BUERO/ioBroker/" + OrdnerVerz + "/1_sound.mp3", (err) => {
                                                if (err) throw err;
                                            });
                                        }, 1000);
                                        setTimeout(function() {
                                            fs.copyFile("//ASUS-BUERO/ioBroker/node_modules/iobroker.sayit/sayit.2.say.mp3","//ASUS-BUERO/ioBroker/" + OrdnerVerz + "/2_sayit.mp3", (err) => {
                                                if (err) throw err;
                                            });
                                        }, 1500);
                                        if (logging) log('Dateien kopiert.');
                                    }
                                

                                fs.unlink:

                                // Dateien wieder löschen
                                    function Dateien_loeschen() {
                                        if (fs.existsSync('//ASUS-BUERO/ioBroker/' + OrdnerVerz + '/1_sound.mp3')) {                                // Datei ist vorhanden
                                            fs.unlink('//ASUS-BUERO/ioBroker/' + OrdnerVerz + '/1_sound.mp3');
                                            if (logging) log ("Datei: -//ASUS-BUERO/ioBroker/" + OrdnerVerz + "/1_sound.mp3- wurde gelöscht");
                                        } else {                                                                                                    // Datei ist nicht vorhanden
                                            if (logging) log ("Datei: -//ASUS-BUERO/ioBroker/" + OrdnerVerz + "/1_sound.mp3- wurde nicht gelöscht");
                                        }    
                                        if (fs.existsSync('//ASUS-BUERO/ioBroker/' + OrdnerVerz + '/2_sayit.mp3')) {                                // Datei ist vorhanden
                                            fs.unlink('//ASUS-BUERO/ioBroker/' + OrdnerVerz + '/2_sayit.mp3');
                                            if (logging) log ("Datei: -//ASUS-BUERO/ioBroker/" + OrdnerVerz + "/2_sayit.mp3- wurde gelöscht");
                                        } else {                                                                                                    // Datei ist nicht vorhanden
                                            if (logging) log ("Datei: -//ASUS-BUERO/ioBroker/" + OrdnerVerz + "/2_sayit.mp3- wurde nicht gelöscht");
                                        } 
                                    }
                                
                                rudidude86 created this issue in gruntjs/grunt-contrib-jasmine

                                closed "Fatal error: Callback must be a function" with Node 10 #266

                                1 Reply Last reply Reply Quote 0
                                • bahnuhr
                                  bahnuhr Forum Testing Most Active last edited by

                                  Nachtrag:

                                  Win10 mit iob stabilio..:
                                  installiert wurde node.js 10...
                                  -> fs klappt nicht

                                  Win7 mit alter iob routine:
                                  hier hab ich node.js 8.15.1
                                  -> fs klappt

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

                                    Wie schaut die Freigabe \\ASUS-BUERO\iobroker aus?

                                    • Kannst Du bitte einen Screenshot von der Rechteeinstellung machen, damit man die hinterlegten User/Gruppen und ihre Rechte auf der Freigabe sieht?
                                    • Das gleiche auch für den Ordner, der freigegeben wird.

                                    Sind die Rechner und User Mitglieder einer Arbeitsgruppe oder einer Domäne?

                                    Danke für den Hinweis auf unlink.

                                    1 Reply Last reply Reply Quote 0
                                    • bahnuhr
                                      bahnuhr Forum Testing Most Active last edited by

                                      Hallo stabilo
                                      a613dc48-fcd1-45a9-8d89-cb1e22ebceb2-image.png

                                      Jeder hat Vollzugriff.

                                      Habs eben nochmal probiert.

                                      fs funktioniert nicht unter node.js 10...

                                      Oder anders: Ich bekomme es nicht hin.
                                      Auf Win7 mit node.js 8.15 klappt es weiterhin.

                                      Konntest du dies schon mal nachvollziehen ?

                                      Stabilostick 1 Reply Last reply Reply Quote 0
                                      • bahnuhr
                                        bahnuhr Forum Testing Most Active last edited by

                                        Hallo,
                                        ich habe mal eine Bitte.

                                        Könnte jemand mit node.js 10 mal probieren ob diese fs Befehle laufen.

                                        Danke.

                                        Bei mir gehen die o.g. Befehle jedoch nicht.

                                        1 Reply Last reply Reply Quote 0
                                        • Stabilostick
                                          Stabilostick @Stabilostick last edited by Stabilostick

                                          @Stabilostick sagte in Datei auf win7-Laptop löschen:

                                          @bahnuhr

                                          Ich gehe davon aus. Der Windows-Benutzer, mit dem der ioBroker-Dienst läuft, hat IMHO (E-rror PERM-issions) nicht die erforderlichen Rechte, auf den Netzwerkshare zuzugreifen. Wenn der Share-Zugriff sein muss, dann entweder das Recht des Shares anpassen (Jeder/Gäste?) oder den ioBroker-Dienst mit einem Windows-Benutzer laufen lassen, der auf den Share zugreifen darf und der die für ioBroker nötigen lokalen Systemrechte hat.

                                          Ich stehe weiter dazu. Bei mir läuft z.B. fs.copyfile auch im Netzwerk ohne Probleme. Mit Node 10 (also genauer ab Node 8.5, weiterst ab da gibt es den copyfile-Befehl).

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

                                            Hallo

                                            was ihr mal checken solltet falls der Zugriff von Windows10 auf ältere Geräte nicht funktioniert:

                                            SMBClient.jpg

                                            Dort muss ein Haken rein, sonst versteht Win10 diese älteren Protokolle nicht mehr. Wurde seitens MS stillschweigends deaktiviert weil das Protokoll "unsicher" ist...

                                            bahnuhr 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            934
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            37
                                            1254
                                            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