2011-02-14 12 views
1

나는 디렉터리의 모든 파일 이름을 읽은 다음 파일 이름에서 특정 문자열을 찾는 배치 파일을 작성하고 있습니다. 파일 이름을 가져올 수는 있지만 파일 이름에서 특정 문자열을 검색하는 방법을 찾을 수 없습니다.파일 이름에 문자열 찾기

파일 이름은 abc_account_march_2010.csv입니다. 파일의 이름을 바꾸면 파일 이름에 "account"라는 단어가 포함되어 있는지 확인해야합니다.

이것은 파일 이름을 얻기 위해 수행 한 작업입니다.

FOR /R %completepath% %%G IN (*.csv) DO (
    echo %%~nG 
) 

% completepath % - 내 디렉토리/폴더의 경로입니다.

감사합니다.

답변

0

grep이 도움이 될까요?

0
FOR /F "usebackq delims= " %%m IN (`findstr /c:"-stringtolookfor" "*.csv"`) DO 
(
    set first_word_in_this_line=%%m 
) 
4

account이 포함 된 와일드 카드를 사용할 수 있습니다.

FOR /R %completepath% %%G IN (*account*.csv) DO (
    echo %%~nG 
) 

당신은 여전히 ​​모든 * .CSV 파일을 처리하고 추가로 자신의 이름에 '계정'을 가지고 그 사람들을, 이름을 변경해야하는 경우가 여기에 해당를 확인할 수있는 방법은 다음과 같습니다

FOR /R %completepath% %%G IN (*.csv) DO call :process "%%~nG" 
GOTO :EOF 

:process 
SET %name%=%~1 
SET chkname=%name:*account=?% 
IF "%chkname:~0,1%"=="?" (
    ECHO %name% -- this is account file! 
) ELSE (
    ECHO %name% -- this is NOT account file 
)