下載完成後如何自動執行指令?

下載完成後如何自動執行指令?

我需要一種方法來幫助我在下載完成後自動執行命令。

我想在點擊 Firefox 的整合下載按鈕後,在下載的檔案旁邊自動建立目錄。我希望所有這些都是自動的。

答案1

如果您可以在 Firefox 之外下載該文件,則可以使用

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"

否則,您必須監視檔案的下載進度,並在完成後將目錄設為「下載檔案旁邊」。以下內容對我有用(但我無法建立與文件同名的目錄)。但它會查看所有文件,包括隱藏文件。根據需要修改。

#! /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

答案2

  1. 新增 mime 類型(您可以為所有類型neverAsk.openFile新增)about:config*/*
  2. 建立一個可執行腳本:
    • 從參數清單中取得檔案路徑(第一個參數)
    • 將其移動到目標位置(因為它已下載到tmp
    • 運行你想要的任何命令
  3. 讓 Firefox 使用您的腳本開啟此檔案類型

最後一項很容易做到,about:preferences但如果您想mimeTypes.rdf在 Firefox 設定檔中手動將記錄新增到檔案中,則稍微困難一些。

答案3

Firefox 以臨時名稱 $f.part 下載文件,如果下載完成,則將其重新命名為 $f。

inotifywait因此,您可以使用或等工具監視目錄更改手錶梅多

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

相關內容