슈퍼유저에 대해 질문하는 것은 이번이 처음입니다. 누군가 내 문제를 해결하도록 도와줄 수 있기를 바랍니다.
먼저, 제가 하려는 일이 무엇인지 설명하겠습니다. 나는 다른 응용 프로그램 설치 명령을 사용하여 내 사진(hdr 형식)을 결합하는 데 도움이 되도록 Windows cmd.exe 셸을 사용하고 있습니다. 명령은 매우 쉽습니다. 명령을 작성하고 그 뒤의 모든 데이터를 선택하기만 하면 됩니다. 명령은 다음과 같이 간단해 보일 수 있습니다.
mydir > pcomb images\patches\*.hdr > images\combinedimages.hdr
하지만 다음과 같은 오류가 발생합니다.
images\patches\*.hdr: Invalid argument
나는 이미 해결책을 찾고 있었고 몇 가지 단서를 얻었습니다. '*' 와일드카드는 아래 명령처럼 'type' 및 'dir'과 같은 다른 명령에서는 작동하지만 Windows 표준 셸에서는 작동하지 않는 것으로 보입니다.
mydir > dir images\patches\*.hdr
22/07/2019 13.47 938.824 p000.hdr
22/07/2019 13.47 938.824 p001.hdr
22/07/2019 13.47 938.824 p002.hdr
22/07/2019 13.47 938.824 p003.hdr
22/07/2019 13.47 938.824 p004.hdr
22/07/2019 13.47 938.824 p005.hdr
그러던 중 누군가 내가 다음을 수행해야 한다고 말했습니다.
- 간단히 Windows용 git을 설치하여 Cygwin 쉘을 사용하십시오(bash 타이핑 스타일을 사용하더라도 문제는 여전히 존재합니다).
- 이미 수행한 일부 명령을 통해 철자된 전체 파일 목록을 제공해야 합니다(그러나 cmd.exe에는 행 수가 제한되어 있고 철자할 파일이 수천 개 있으므로 또 다른 문제가 있습니다).
이것에 대한 해결 방법이 있습니까?
문법이 좋지 않아서 죄송합니다. 영어가 너무 유창하지 않습니다.
답변1
문제의 실행 파일은 다음과 같습니다.https://floyd.lbl.gov/radiance/man_html/pcomb.1.html
그렇다면 문서가 부족하지만, 제공된 예제를 올바르게 따르면(입력 파일이 2개만 표시되고 "점을 만들 때"를 제외하고 >? 표기법이 없음)
그렇다면 나는 당신이 하려는 것이 일반적인 명령줄에서 직접 수행하는 것과 같은 것이라고 믿습니다.
옵션 1:
pcomb "C:\images\patches\938.824 p000.hdr" "C:\images\patches\938.824 p001.hdr" "C:\images\patches\938.824 p002.hdr" >"C:\images\combinedimages.hdr"
옵션 2:
pcomb "C:\images\patches\938.824 p000.hdr" > "C:\images\combinedimages.hdr"
pcomb "C:\images\patches\938.824 p001.hdr" > "C:\images\combinedimages.hdr"
pcomb "C:\images\patches\938.824 p002.hdr" > "C:\images\combinedimages.hdr"
위의 테스트 결과가 예상대로 작동한다고 가정하면 테스트에서 작동하는 옵션에 따라 다음을 수행할 수 있습니다.
옵션 1:
SET "_HDRFiles=" &REM Clearing the variable in the CLI in case you run this multiple times.
FOR %A IN ("C:\images\patches\*.hdr" ) DO (
CALL SET "_HDRFiles=%_HDRFiles% "%A""
)
pcomb %_HDRFiles% >"C:\images\combinedimages.hdr"
옵션 2:
FOR %A IN ("C:\images\patches\*.hdr" ) DO (
pcomb "%A" > "C:\images\combinedimages.hdr"
)