
xxx/1.jpg
, xxx/2.jpg
, xxx/3.jpg
등 이름이 모두 비슷한 파일을 에 다운로드하고 싶습니다 C:/Brawa/
. 그래서 나는 이렇게 쓴다:
CURL https://example/xxx/[1-3].jpg -o C:/Brawa/#1.jpg
이제 소스 파일의 이름이 대상 파일의 이름과 일치하기를 원합니다. C:/Brawa/xxx/1.jpg
; C:/Brawa/xxx/2.jpg
; C:/Brawa/xxx/3.jpg
, 등등.
나는 명령줄을 사용합니다:
CURL https://example/xxx/[1-3].jpg -o --remote-name C:/Brawa/*.jpg
뭔가 잘 안되는데, 내가 뭘 잘못한 걸까요?
답변1
나는 이것이 효과가 있다고 생각합니다:
CURL https://example/xxx/[1-3].jpg -o --remote-name C:/Brawa/#1.jpg
답변2
옵션 값은 인접해야 합니다.모든 Unix 또는 Unix 기반 프로그램과 대부분의 C 기반 프로그램에서 here 와 같이 값이 있는 옵션을 지정하는 경우 -o C:/some/path
'flag' 옵션과 해당 값을 함께 유지해야 하며 그 사이에 다른 항목을 삽입할 수 없습니다. . 거의 모든 경우에 표시된 것처럼 연속적인 인수를 사용하거나하나의-oC:/some/path
(짧은 형식의 경우) 또는 --output=c:/some/path
(긴 형식의 경우 등호 추가, 즉 두 개의 하이픈) 과 같은 연결된 인수입니다 . 이는 일반적으로 모두 실행을 사용하는 Windows(CMD)에서 더 분명하므로 /flag:value
중간에 아무것도 삽입하지 못하게 됩니다.
harrymc의 답변에 댓글을 달았듯이,--remote-name -o c:/some/path
구문 분석정확하지만 작동하지 않습니다. 이는 서로 상충되는 지침을 제공하고 첫 번째 지침만 따르기 때문입니다. -o c:/some/path --remote-name
구문 분석도 수행하지만 첫 번째 항목만 준수합니다(파일인 경우 모든 URL을 동일한 파일에 기록하고 마지막 URL만 남기고 디렉토리인 경우 전혀 기록하지 못합니다).
게다가아낙수나만의 답변당신은 할 수디렉토리를 바꾸다원하는 위치로 이동 후 사용오직 --remote-name
(또는 -O
대문자, 어느 쪽이든아니요값)을 선택한 다음 디렉터리를 다시 변경하세요. CMD는 대부분의 Unix 쉘을 지원 pushd
하고 popd
좋아하므로
pushd c:\brawa\xxx & curl https://example/xxx/[1-3].jpg -O & popd
답변3
최신 버전(버전 7.73.0 이상)을 사용한다고 가정하면 출력 디렉터리를 지정하는 curl
새 옵션을 추가할 수 있습니다 . 예:--output-dir
curl https://example/xxx/[1-3].jpg -O --output-dir "C:/Brawa/xxx"
(대문자 oh)는 위의 예 -O
와 동일하다는 점에 유의하세요 .--remote-name
curl
Windows용 최신 공식 바이너리를 사용할 수 있습니다.여기및 최신 버전에 대한 옵션 설명서를 curl
사용할 수 있습니다 .여기.
폴더를 동적으로 생성하려면 --create-dirs
다음 옵션을 사용할 수 있습니다 curl
(컬 매뉴얼 페이지 섹션에 따라--output-dir
). 그러나 이는 --output-dir
위 예의 옵션을 기반으로 한 것으로 보이 므로 이 값을 변경하려면 추가 스크립팅이 필요할 수 있습니다.해리맥의 대답이 질문은 Windows 7에서 올바르게 작동합니다.