Windows 10 - 설정된 문자 간격 내에서 파일 이름의 특정 부분 검색

Windows 10 - 설정된 문자 간격 내에서 파일 이름의 특정 부분 검색

좋은 낮/저녁,

어쩌면 누군가가 도움을 줄 수도 있고, 어쩌면 이것이 다른 누군가에게 도움이 될 수도 있습니다. 아래 예를 관찰하면 :

01022015- BLABLABLA 04022018 - BLABLABLAB 02012016 - Blablabla

내가 하고 싶은 일은 파일 이름의 세 번째와 네 번째 문자에 지역화된 02를 검색하는 것입니다. 두 번째 문자 다음에 "02"를 검색하는 것과 같습니다.

그렇게 하면 모든 Feb 파일을 개별적으로 정렬한 다음 일괄적으로 적절하게 이름을 바꿀 수 있습니다.

이것이 가능합니까? 아래에는 추가 개발의 기초가 될 수 있는 검색어의 예가 나와 있습니다.

벌써 고마워요~"(4)"

답변1

파일 이름의 세 번째와 네 번째 문자에 지역화된 02를 검색합니다.

?"강력한 1자"를 의미하는 패턴 기호를 사용합니다 .

DIR ??02*.*

답변2

이번에는 운이 좋았다고 생각합니다. 이 경우 정규식은 매우 간단하며 다음과 같은 환경에서도 구현할 수 있습니다.마이크로소프트 윈도우 10명령줄 전처리기.

정규 표현식은 입니다 ??02*.

따라서 대담하게 RENAME ??02* <New Name>.

RENAME 구문

답변3

재귀적으로 다음을 시도해 보세요.
for /f tokens^=* %F in ('where /r . "??02*.*"')do rename "%~F" "Some_New_Name%~xF"
  • 산출:
rename "G:\SUPER_USER\Q59446122\310220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\110220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\100220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\170220218.txt" "Some_New_Name.txt"
rename "G:\SUPER_USER\Q59446122\Sub_1\030220218.txt" "Some_New_Name.txt"

현재 폴더에 대해 다음을 시도하십시오.

for /f tokens^=* %F in ('where "??02*.*"')do rename "%~F" 
  • 산출:
rename G:\SUPER_USER\Q59446122\310220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\110220218.txt Some_New_Name.txt
rename G:\SUPER_USER\Q59446122\100220218.txt Some_New_Name.txt

관련 정보