윈도우 쉘 (cmd) 와일드카드 인수
글쓴이: MyAbby / 작성시간: 수, 2014/07/09 - 6:22오후
안녕하세요 선배님들.
C++ 표준으로 짠 프로그램을 gcc와 mingw로 리눅스, 윈도우 타깃을 동시에 컴파일할 수 있도록 개발한 프로그램이 하나 있습니다.
파일 포맷을 변환해 주는 프로그램이에요. 인수로 파일을 주면 변환된 파일을 뱉어냅니다.
문제가 이 인수인데요. 윈도우 쉘에서 와일드카드가 안먹어요. 파일이 이렇게 있을 때:
a.dat b.dat c.dat
bash에서 "./프로그램 *.dat" 이렇게 프로그램을 실행 시키면, 실제로 main 함수에서 받는 인수는:
./프로그램 a.dat b.dat c.dat
이렇게 되겠죠. 하지만 윈도우에서는 저렇게 안해주고, "*.dat"을 그대로 줘버립니다.
만약 윈도에서도 똑같이 작동하게 하려면 directory listing을 parse, regexp를 구현해야 겠죠....
어떻게 방법이 없을까요? 그냥 batch 스크립트를 작성해야 하는지...
x
Forums:
for /r %%i in (*) do @echo
감사해요
%하나씩 빼니 되내요. /r 은 아마 recursive 옵션 같고.
쨋든, 스크립트로 가능하게 됫어요.
말씀하신 케이스에 적용 가능한 해법인지는 잘
말씀하신 케이스에 적용 가능한 해법인지는 잘 모르겠지만 다른 방법도 있습니다:
http://msdn.microsoft.com/en-us/library/8bch7bkk.aspx
음.. 어
이건 소스를 건들여야 하잖아요?
오브젝트를 건드리지만
오브젝트를 건드리지만 mingw 결과물에 이게 적용 가능할지 모르겠습니다.
그냥 한 가지 잡담..
shell은 한국어 표기로 "셸"로 옮기는 것이 맞습니다.
(다만 상품명이나 기업명 등에서 공식 사용권자가 "쉘"이라고 표기하는 경우에는 그것이 우선합니다. 전 이런 건 표기에 충실하게 "수엘"이라고 읽어줍니다.)
이미 알고 계시지만 그 표기가 싫어 일부러 쉘로 표기하는 거라면 아무 문제없지만, 혹시 모르셨을 수도 있으니 오지랖을 부려 봅니다.
--
댓글 달기