我需要一种方法来帮助我在下载完成后自动运行命令。
我想在点击 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
- 添加 mime 类型(可以为所有类型
neverAsk.openFile
添加)about:config
*/*
- 创建一个可执行脚本:
- 从参数列表(第一个参数)中获取文件路径
- 将其移动到目标位置(因为它已被下载到
tmp
) - 运行你想要的任何命令
- 告诉 Firefox 使用你的脚本打开此文件类型
最后一个很容易做到,about:preferences
但如果您想手动将记录添加到mimeTypes.rdf
Firefox 的配置文件中的文件,则会稍微困难一些。
答案3
Firefox 以临时名称 $f.part 下载文件,如果下载完成则将其重命名为 $f。
因此,您可以使用以下工具来监视目录更改inotifywait
:关注美多。
inotifywait -m .
...
./ MOVED_FROM file.zip.part
./ MOVED_TO file.zip