
Preciso de uma maneira que me ajude a executar um comando automaticamente após a conclusão do download.
Quero criar um diretório ao lado do arquivo baixado automaticamente depois de clicar no botão de download integrado do Firefox. Quero que tudo isso seja automático.
Responder1
Se você puder baixar o arquivo fora do Firefox, você pode usar
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"
Caso contrário, você terá que monitorar o andamento do download do arquivo e quando terminar, criar o diretório “ao lado do arquivo baixado”. O seguinte funcionou para mim (mas não consegui criar um diretório com o mesmo nome do arquivo). Ele analisa todos os arquivos, incluindo os ocultos. Modifique conforme necessário.
#! /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
Responder2
- Adicione o tipo MIME (você pode adicionar
neverAsk.openFile
para todos)about:config
*/*
- Crie um script executável que:
- pega o caminho do arquivo da lista de argumentos (o primeiro argumento)
- move-o para o local de destino (como foi baixado
tmp
) - executa os comandos que você quiser
- Diga ao Firefox para abrir este tipo de arquivo com seu script
Este último é fácil de fazer, about:preferences
mas um pouco mais difícil se você quiser adicionar registros manualmente ao mimeTypes.rdf
arquivo no perfil do Firefox.
Responder3
O Firefox baixa um arquivo com o nome temporário $f.part e, se o download for concluído, renomeia-o para $f.
Assim, você pode observar as alterações de diretório com ferramentas como inotifywait
ouwatchmedo.
inotifywait -m .
...
./ MOVED_FROM file.zip.part
./ MOVED_TO file.zip