2017-12-13 35 views
1

아니라 특정 디렉토리에있는 특정 파일을 이동해야,이 종류의 간단 .. 내가 몇 가지 특정 srting에 많은 파일이 있고 난 박쥐 스크립트를 여기CMD 내가

은 예입니다 사용하여 특정 폴더로 이동하고 싶어

파일

ABCD_Afile_1111-11111111_00001.txt 
ABCD_Bfile_2222-22222222_00001.txt 
ABCD_Cfile_3333-33333333_00001.txt 
ABCD_Dfile_4444-44444444_00001.txt 

그리고 난 다음

folder Afolder_1111-11111111 
ABCD_Afile_1111-11111111_00001.txt 



Folder Bfolder_2222-22222222 
ABCD_Bfile_2222-22222222_00001.txt 



folder CFolder_3333-33333333 
ABCD_Cfile_3333-33333333_00001.txt 



folder DFolder_4444-44444444 
ABCD_Dfile_4444-44444444_00001.txt 
처럼이 파일을 이동하고 싶어스크립트는 파일 문자열 1111-1111111로 폴더를 찾고 해당 파일을 원하는 폴더로 이동해야합니다.

난 내 자신에 의해 배치 스크립트를 만들었습니다 ..하지만 정확히 내가 원하는대로 ...

예를 들어

move D:/x/fikename.txt foldernamehere 

내가 나를 위해 문제의 폴더 이름 mannualy을 넣어해야합니다. 이 코드는작동

for %%f in (X\:x\*.txt) do (for /f "tokens=3 delims=_" %%a in ("%%~nf") do (for /d %%x in (X:\x\*%%a) do (ECHO move "%%~ff" "%%x\"))) 

@stephan.

감사합니다 출력이 잘 보이는 경우

@echo off 
for %%f in (X:x\*.txt) do (
    for /f "tokens=3 delims=_" %%a in ("%%~nf") do (
    for /d %%x in (X:\x\*%%a) do (
     ECHO move "%%~ff" "%%x\" 
    ) 
) 
) 

ECHO을 제거 : 파일의 모든 가정 0

답변

0

이 구문 XXXX_Yfile_0000-00000000_00000.txt을 따르십시오.

+0

도움 주셔서 감사합니다. 예. 내 파일 구문이 같아요. 그러나 폴더 구문은 파일 Xxxxx_Yyyyyy_0000-00000000과 동일하지 않습니다. 여기서 x와 y 숫자는 특정 수의 문자가 아닙니다 ... 몇 번에 4 개의 x와 약간의 시간이 있습니다 18nos x는 수정되지 않습니다 .... 단지 thode 숫자는 같습니다 파일 및 폴더입니다 .. 나는 이미 폴더를 만들었습니다 .. 모든 폴더와 d 개의 파일 :/x/디렉토리 .. 적절한 폴더에있는 파일의 모든 thise 톤을 이동해야합니다 .. 또한 내 질문을 적절하게 편집 메신저 – spidy

+0

여전히 명확하지 않다. 스크립트가 1111-1111111이라는 파일 문자열로 폴더를 찾아야하는 경우 폴더 전체 이름 ("Dfile"을 아는 방법)을 파생시키는 방법은 무엇입니까? Btw :'for'는 부분 문자열의 길이를 신경 쓰지 않습니다. 단지 delimeter에서'_'로 나눕니다. – Stephan

+0

스크립트에서 문자열 이름 (1111-1111111)을 사용하여 폴더 이름을 찾으면 같은 문자열 일치 폴더에서 같은 문자열 파일을 이동합니다. 정규 표현식에 대한 지식이 많지 않습니다. reg ex가 작동해야합니다. 필요 없음 scrip (md)을 사용하여 폴더를 만들려면 모든 준비가 완료되었습니다. .. – spidy