여러 파일을 다운로드하고 이름을 바꾸는 유틸리티?

여러 파일을 다운로드하고 이름을 바꾸는 유틸리티?

이 Bash 스크립트파일 몇 개만 다운로드해도 괜찮지만, 100개가 넘는 파일을 다운로드해야 합니다.VisualWGet파일 중 파일을 다운로드할 수 있지만 이름을 바꿀 수는 없습니다.

열 1에 파일의 전체 URL이 포함되고 열 2에 이름 바꾸기에 사용할 이름이 포함되는 2열 텍스트 목록을 사용하는 Windows 유틸리티를 아는 사람이 있습니까?

답변1

DAP(Download Accelerator Plus)를 사용하여 다운로드와 이름 바꾸기를 모두 수행할 수도 있습니다.

DAP 목록을 생성하고 이를 앱으로 가져온 다음 파일을 저장할 폴더를 선택한 다음 작업을 수행하면 됩니다.

DAP 목록을 생성하려면 텍스트 편집기를 열고 다운로드하려는 각 파일에 대해 다음을 입력하세요.

<filelist_index><fileinfo>
    <filename>FILENAME.EXT</filename>
    <url>FULL_URL_TO_FILE</url>
</fileinfo></filelist_index>

FILENAME.EXT를 원하는 파일 이름으로 바꾸세요(EXTENSION 파일을 잊지 마세요). MS Excel을 사용하여 코드를 통합한 다음 텍스트 파일에 복사하여 붙여넣고 XXX.DAP 파일로 저장하면 됩니다. 샘플 스프레드시트는 다음과 같습니다.http://ge.tt/6sO1B2g

답변2

또는 Windows Powershell을 사용하여 ...

$folder = "D:\Output\"
$userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
$web = New-Object System.Net.WebClient
$web.Headers.Add("user-agent", $userAgent)
$input = "D:\todownload.txt"
$delimit = " "

Get-Content $input |
    Foreach-Object { 
        $line = $_.split($delimit);
        $destination_file = ([io.path]::getfilename($line[1]))
        "[" + $destination_file  + "]" + "Downloading " + $line[0]
        try {
            $target = join-path $folder $destination_file
            $web.DownloadFile($line[0], $target)
        } catch {
            $_.Exception.Message + ": " + $destination_file
            add-content (join-path $folder ("downloader" + ".log")) ("[" + $destination_file + "] " + $_.Exception.Message)
            add-content (join-path $folder ("downloader" + ".retry")) ($line -join " ")
        }
    }

입력 파일(todownload.txt)의 형식은 다음과 같습니다.

http://path.to.download.com/file.jpg 0001_NewFileName_file.jpg

답변3

Firefox 확장 기능을 사용해 볼 수 있습니다DownThemAll!. 한 페이지에서 여러 링크를 다운로드할 수 있고, 다운로드 목록을 필터링하고 이름 바꾸기 패턴을 적용할 수도 있습니다.

답변4

perl -MLWP::Simple -n -e '($u,$n)=split;getstore($u,$n)' filenames.txt

(테스트 완료)

filenames.txt에는 다음과 같은 내용이 포함되어 있습니다.

http://foo.com/a/b?parm=x this.dat
http://bar.org//d/e/f.html that.html

더 긴 형식의 동일한 스크립트

#!/usr/bin/perl
엄격하게 사용하십시오.
경고를 사용하십시오.
LWP::Simple을 사용하세요.

내 $fh, '<', "filenames.txt"를 열지 않으면 "$!\n" 때문에 filenames.txt를 읽을 수 없습니다.
하는 동안 () {
  내 ($url, $newname) = 분할;
  getstore($url, $newname);
}

(테스트되지 않음)

관련 정보