다운로드 완료 후 자동으로 명령을 실행하는 방법은 무엇입니까?

다운로드 완료 후 자동으로 명령을 실행하는 방법은 무엇입니까?

다운로드가 완료된 후 자동으로 명령을 실행하는 데 도움이 되는 방법이 필요합니다.

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.openFilein 에 추가하세요( 모두 about:config추가 가능 )*/*
  2. 다음과 같은 실행 가능한 스크립트를 만듭니다.
    • 인수 목록(첫 번째 인수)에서 파일 경로를 가져옵니다.
    • (에 다운로드되었으므로 tmp) 대상 위치로 이동합니다.
    • 원하는 명령을 실행합니다
  3. Firefox에 스크립트로 이 파일 형식을 열도록 지시하세요.

이 마지막 작업은 수행하기 쉽지만 Firefox 프로필의 파일 about:preferences에 수동으로 레코드를 추가하려는 경우에는 조금 더 어렵습니다 .mimeTypes.rdf

답변3

Firefox는 임시 이름 $f.part로 파일을 다운로드하고, 다운로드가 완료되면 이름을 $f로 바꿉니다.

따라서 다음과 같은 도구를 사용하여 디렉터리 변경 사항을 감시할 수 있습니다.inotifywait .워치메도.

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

관련 정보