도스에서 파일명 찾아서 특정 폴더에 복사하는 배치파일 질문입니다.

포카   
   조회 9599   추천 0    

안녕하세요.
도저히 모르겠습니다. 

일단상황은 이렇습니다.

c:\source 폴더에 1.txt 2.txt 3.txt  파일이 존재합니다.
c:\aa 폴더에  a.mp3, b.mp3, 1.mp3
c:\bb 폴더에 c.mp3, 2.mp3, 3.mp3, 4.mp3
c:\target 폴더는 빈폴더

여기서
source폴더의 파일명(확장자빼고)을 가지고 와서,
모든 폴더를 뒤져서 파일명.mp3만 target폴더에 복사하는 배치파일이라던지 명령어를 알고 싶습니다.

명령어를 치면, target폴더에 1.mp3, 2.mp3,3.mp3   만 존재하게 하고 싶습니다.
실행은 source 폴더에서 하면 됩니다.
도와주세요

짧은글 일수록 신중하게.
엠브리오 2014-08
정규표현식을 쓰면 답이 나올것 같긴 합니다만..

하필이면 DOS라뉘. @@
포카 2014-08
혹시 맥에서 사용할 수 있는 정규식이라면 환영입니다.~~
이선규 2014-08
글 썼다가 잘못눌러 다지워졌네요.
bat파일만들어 copy 명령 사용하면 될듯 합니다.
예를 들어 copy con a.bat
  copy \aa\1.mp3 \target\
  copy \bb\2.mp3 \target\
  copy \bb\3.mp3 \target\
ctrl+z
  a실행

전체를 다 할때는 xcopy 명령어를 사용하면될듯 합니다.
저도 워낙 오래돼서 아마 맞을 겁니다.
     
포카 2014-08
선규님 감사합니다. ^^
하지만 폴더명 및 파일명이 매번 다르고, 파일들도 수백개라...
          
이선규 2014-08
그러면 파일명중 같은 이름중 한두글자가 틀린경우는
 aaa??uu.mp3  또는  *as.mp3  하면 될겁니다
무아 2014-08
echo "이봐 김대리 이거좀 해놔"

농담입니다. 도망....가야지...
     
포카 2014-08
ㅋㅋ 만능 김대리좀 소개시켜주세요~
피투성 2014-08
아무래도 도스 쉘 명령으로는 힘드실 듯 합니다.
vbscript, python 등 간단한 script 언어로 짜시는게 빠를 듯 합니다.
엠브리오 2014-08
리눅스에서 돌아가는 쉘 스크립트 작성해봤습니다.
DOS나 MacOS는 테스트할 환경이 없어서 돌려볼수가 없네요.

MacOS에서 돌려보시기 바랍니다.
MacOS의 쉘 환경은 리눅스와 거의 비슷하므로 동작할겁니다.
=========================================================
#!/bin/sh

# txt 확장자를 mp3 로 변경
for f in *.txt; do mv ./"$f" "${f%txt}mp3"; done

# mp3 파일을 찾아서 target 디렉토리로 복사
for g in *.mp3; do find ./ -name "$g" -exec cp {} /home/embryo/test/target \;; done
포카 2014-08
감사하빈다~~


QnA
제목Page 3113/5728
2015-12   1780862   백메가
2014-05   5255933   정은준1
2016-07   7733   라이젠
2024-05   1727   새로운차원
2016-07   4485   허인구마틴
2022-10   5291   나우마크
2018-10   4870   김건우
2011-11   6984   뚜뚜김대원
2011-11   9828   GoodWolf
2018-10   3709   의롭게살리라
2014-02   6904   배고프고가…
2022-11   2114   송주형
2011-12   5886   승후니도쿄
2011-12   6266   방o효o문
2014-02   4158   류지현
2018-11   3606   롤빵
2012-01   14235   주황별
2022-11   2200   조은인연
2024-07   1665   션한맥주
2015-07   4527   김상민
2012-01   8547   예관신규식
2022-12   2117   azchoi