Wie führe ich einen Befehl automatisch aus, nachdem der Download abgeschlossen ist?

Wie führe ich einen Befehl automatisch aus, nachdem der Download abgeschlossen ist?

Ich brauche eine Möglichkeit, nach Abschluss eines Downloads automatisch einen Befehl auszuführen.

Ich möchte, dass automatisch ein Verzeichnis neben der heruntergeladenen Datei erstellt wird, nachdem ich auf den integrierten Download-Button von Firefox geklickt habe. All dies soll automatisch erfolgen.

Antwort1

Wenn Sie die Datei außerhalb von Firefox herunterladen können, können Sie verwenden

filetodownload=file-to-download.ext
wget http://www.example.org/"$filetodownload" -O "$filetodownload"
#"I want to create a directory beside the downloaded file automatically"
#You didn't specify a dir name
mkdir "$filetodownload"

Andernfalls müssen Sie den Download-Fortschritt der Datei überwachen und nach Abschluss das Verzeichnis „neben der heruntergeladenen Datei“ erstellen. Folgendes hat bei mir funktioniert (aber ich konnte kein Verzeichnis mit demselben Namen wie die Datei erstellen). Es werden jedoch alle Dateien durchsucht, auch versteckte. Ändern Sie es nach Bedarf.

#! /bin/bash
while [ 1 ]
 do
  for files in $(find . -maxdepth 1 -mmin -1 -type f)
   do
    testbefore=$(ls -l $files | awk '{print $5$6$7$8$9}')
    sleep 2
    testafter=$(ls -l $files | awk '{print $5$6$7$8$9}')
    if [ $testbefore = $testafter ]
     then
#     echo $testbefore
     mkdir $(basename "$files")_
    fi
   sleep 5
  done
 done

Antwort2

  1. MIME-Typ hinzufügen (Sie können für alle neverAsk.openFilehinzufügen )about:config*/*
  2. Erstellen Sie ein ausführbares Skript, das:
    • übernimmt den Dateipfad aus der Argumentenliste (das erste Argument)
    • verschiebt es zum Zielort (wohin es heruntergeladen wurde tmp)
    • führt alle gewünschten Befehle aus
  3. Weisen Sie Firefox an, diesen Dateityp mit Ihrem Skript zu öffnen

Letzteres ist einfach durchzuführen, aber etwas schwieriger, wenn Sie Datensätze manuell zur Datei im Firefox-Profil about:preferenceshinzufügen möchten .mimeTypes.rdf

Antwort3

Firefox lädt eine Datei unter dem temporären Namen „$f.part“ herunter und benennt sie nach Abschluss des Downloads in „$f“ um.

inotifywaitSie können also mit Tools wie oder nach Verzeichnisänderungen suchen.Uhrenmedo.

inotifywait -m .
...
./ MOVED_FROM file.zip.part
./ MOVED_TO file.zip

verwandte Informationen