Script: löschen von Dateien bestätigen

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Guest's Avatar

    Script: löschen von Dateien bestätigen

    Hallo, wie bringt man folgendes script dazu, das löschen der Dateien zu bestätigen?

    load <default>
    filter "-Desktop.ini";"-Thumbs.db"
    criteria timestamp:IgnoreDST
    option confirmrompt
    load "E:\Foto" "P:\Foto"
    expand all
    select left.newer.files left.diff.files left.orphan
    copy left->right
    select right.orphan
    delete right

    Gruß Gerald
  • chrroe
    Pooh-Bah
    • Oct 2007
    • 588

    #2
    Re: Script: löschen von Dateien bestätigen

    Hallo Gerald!

    </font><blockquote><font class="small">In Antwort auf:</font><hr />
    wie bringt man folgendes script dazu, das löschen der Dateien zu bestätigen?


    [/quote]

    Füge einfach vor dem delete Befehl ein option confirm:yes-to-all ein.
    Dann sollte es klappen ...

    Die Syntax für den filter Befehl hast du glaube ich auch nicht 100%ig eingehalten. Laut Skript-Referenz im BC-Helpfile müsste es statt

    filter "-Desktop.ini";"-Thumbs.db"

    besser

    filter "-Desktop.ini;-Thumbs.db"

    heißen.

    Aber wenn das bisher funktioniert, ist es auch gut .


    Bye
    Christoph

    Comment

    • Guest's Avatar

      #3
      Re: Script: löschen von Dateien bestätigen

      Hallo Christoph, danke für die Antwort, hatte mich unklar ausgedrückt, wollte eigentlich: option confirmrompt ;und das geht nicht ;Datei-Singles werden ohne Nachfrage gelöscht!

      log verbose append:"X:\4t\ACTION\BC\2.TEST.log"
      load <default>
      filter "-.\.deleted\"
      load "x:\time" "o:\fit\time"
      expand all
      select right.orphan
      ### 1.Test copyto:
      #option confirm:yes-to-all # funktioniert
      #option confirm:no-to-all # funktioniert
      #option confirmrompt # funktioniert
      #copyto "o:\fit\time\.deleted"
      ### 2.Test delete:
      #option confirm:yes-to-all # funktioniert
      #option confirm:no-to-all # Datei-Singles werden trotzdem gelöscht!
      option confirmrompt # kein prompt, Datei-Singles werden gelöscht!
      delete right

      Gruß Gerald

      Comment

      • chrroe
        Pooh-Bah
        • Oct 2007
        • 588

        #4
        Re: Script: löschen von Dateien bestätigen

        Hi Gerald!

        So, ich hab mir das ganze jetzt mal etwas näher angeschaut:
        Die Dialoge, die mit dem option Befehl gesteuert werden können, sind nicht die selben, die in BC im Normalbetrieb beim Kopieren, Löschen etc. kommen.
        Es handelt sich vielmehr um "Problem"-Dialoge, die während der Dateiaktionen auftreten können,

        Das kannst du ganz leicht testen, in dem du einer Datei, die gelöscht werden soll, das Schreibschutz-Attribut gibst (Im Explorer unter Eigenschaften). Dann kommt nämlich im Normalfall ein Dialog, der fragt, ob die Datei wirklich gelöscht werden soll.
        Diese Dialoge sind gemeint und bei meinen Tests funktonierte die Steuerung dieser mit dem option Befehl auch.

        Wenn man Systemdateien löschen will, kommt auch ein entsprechender Dialog.

        Ein Dialog, ob überhaupt mit dem Löschen angefangen werden soll, ist in Scripts selber vermutlich nicht möglich.
        Als work-around könnte ich mir ein separates DOS Batchfile vorstellen, dass den Löschwunsch erst abfragt und dann ein BC Löschskript aufruft.


        Bye
        Christoph

        Comment

        • Guest's Avatar

          #5
          Re: Script: löschen von Dateien bestätigen

          Hallo Christoph,
          OK, das ist nachvollziehbar. Also: attrib +r
          Das sieht dann so aus und funktioniert:

          load "E:\Foto" "P:\Foto"
          expand all
          select right.orphan
          attrib +r
          option confirmrompt
          delete right

          Danke für die Hilfe, Gruß Gerald

          Comment

          • chrroe
            Pooh-Bah
            • Oct 2007
            • 588

            #6
            Re: Script: löschen von Dateien bestätigen

            Hi!

            Jo, das wäre denkbar.
            Ich dachte aber eher an ein Batchskript, das am Anfang abfragt, ob es überhaupt ausgeführt werden soll. Damit erspart man sich die Attributsänderungen an den Dateien .

            In etwa so (bc-lösch.bat):

            Code:
            SET /p ausfuehren=BC-Löschskript ausführen (j/n)?
            if ausfuehren=j bc2.exe @bc-lösch.txt
            Wobei bc-lösch.txt so aussehen könnte:

            Code:
            load "E:\Foto" "P:\Foto"
            expand all
            select right.orphan
            option confirm:yes-to-all
            delete right

            Bye
            Christoph

            Comment

            • Guest's Avatar

              #7
              Re: Script: löschen von Dateien bestätigen

              Hallo Christoph,
              diese Diskusion entwickelt sich ja zu: "was könnte man alles so machen mit BC."
              ...und mit "Batch" hab' ich schon vor ~10 Jahren so einiges gemacht; und immernoch...
              OK. Deine Ideen sind echt gut! Aber ich muss nun doch einmal genau erklären worum es mir eigentlich geht.

              Ich denke an folgendes Scenario: BC als Datensicherung. Die Fotos von E: sollen
              auf P: gesichert werden. Kein Problem: *copy left->right*. Absichtlich gelöschte/umbenannte Files
              sollen mit *select right.orphan* auch auf P: gelöscht werden. Jetzt hat aber irgendjemand
              dummerweise aus versehen was aus E: gelöscht! Bei einer synchronisation mit BC-script ohne entsprechender Abfrage wäre nun auch
              die Datensicherung zerstört. Deshalb meine Forderung nach einer Abfrage, ob die File-Singles auf P: wiklich gelöscht werden sollen.
              Und das habe ich jetzt mit BC-script für mich so gelöst:

              load <default>
              filter "-Desktop.ini";"-Thumbs.db" # funktioniert übringens...
              load "E:\Foto" "P:\Foto"
              expand all
              select left.newer.files left.diff.files left.orphan
              copy left->right
              select right.orphan
              attrib +r
              delete right
              attrib -r #;-)
              load... usw.
              select... usw. ...sind bei mir insg. 184 Zeilen...

              Der Witz an der Sache ist, dass BC-script anhält (vor dem löschen), ich mir angucken kann
              welche Files nun mit *attrib +r* versehen worden sind, ich entscheiden kann, einzeln oder alle löschen,
              und die nicht gelöschten bekommen: *attrib -r*.
              So bekomme ich auf jeden Fall mit, ob Files auf E: gelöscht wurden.

              Das ist für mich persönlich, für meine eigenen Files (nicht nur Fotos, auch Source-Code) OK.
              ...und wenn ich's genau wissen will: BC.exe - geniales Programm!
              Gruss Gerald

              Comment

              Working...