이번에 메인 컴퓨터를 교체하면서 웨스턴디지털의 SATA2 500GB하드에 기존의 데이터를 옮겨야만 했다. 그리고 간만에 파일을 정리하려다 보니 파일명을 일괄적 또는 선택적으로 변경할 필요가 생겨서 전에 쓰던 Servant Salamander와 같은 프로그램을 이용해 볼까 했는데 구글로 검색해보니 다른 종류의 프로그램이 발견되었다.

프로그램명은
Rename Regular Expression 이란 것으로 막상 설치를 해보니 시작의 프로그램 리스트에 해당 프로그램이 보이질 않았다. 그래서 어찌된건가 해서 해당 프로그램을 배포한 사이트에 가보니 어허라~ 이거 탐색기에 Add-On 형태로 붙어 버리는 프로그램이었다.

이전에 탐색기상에서 폴더사이즈와 해당 폴더의 파일수를 알기 위해서 사용했던 ForderSize란 프로그램도 그와 같은 형태여서 편리하게 쓰고 있는데 이것도 탐색기에서 실행할 수 있는 프로그램 이구나~

공개된 무료 소프트웨어이며 다운로드는 아래의 링크에서 받을 수 있다.

다운로드받기

사용법

일반적인 파일명 교체는 다음과 같은 방법으로 할 수 있다.

1. 파일명을 바꾸고자 하는 파일들을 선택한다.
2. 다음 마우스 오른쪽 버튼을 누르면 다음과 같은 메뉴가 표시된다.

사용자 삽입 이미지
Rename RegEx.. 메뉴를

3. 위의 화면에서 Renmae RegEx… 메뉴를 선택하면 아래와 같이 파일명을 교체할 수 있는 UI가 표시된다.

사용자 삽입 이미지
4. 첫번째로 일반적인 파일명 변경을 원할 때는 위와 같이 특정한 단어를 Source Expression 쪽에 넣고 Target Expression에 원하는 단어를 넣으면 된다. 위의 경우는 아래에 아무것도 넣지 않았기 때문에 New name 쪽에서 ebook이란 단어만 제거 되어 있다.

사용자 삽입 이미지
5. 위의 화면은 정규식을 이용해서 파일명은 변경하는 화면이다. 아래의 Current Name의 파일명중 (ebook – ***)의 형식의 파일명을 삭제하기 위해서는 위와 같이 입력해주면 된다.

사용자 삽입 이미지
6. 마지막으로 순번을 정해서 파일명을 변경시켜 주는 화면이다. 위의 체크박스 중 Repalce… 로 시작되는 항목을 체크한 후 Target Expression쪽에 위와 같이 입력해 주면 오름차순으로 숫자가 나열된다. 앞에 0을 붙여서 시작하고 싶은 경우는 위와 같이 ##으로 해주면 된다.

정규식이라고 처음 들어보시는 분도 많이 계시겠지만 일반적인 파일명을 변경하고 싶을 때는 몇가지의 규칙만 알아두면 상당한 시간 노가다를 피할 수 있으며 또한 여기에서 쓰이는 정규식은 택스트 파일 편집기 등에서도 널리 쓰이는 방식이므로 한번 알아두면 큰 도움이 된다.

아래는 참고로 프로그램소개 페이지의 내용 및 간단한 정규식 설명

 

If you need to rename a number of files in complicated ways, RenameRegEx can do it.

RenameRegEx adds a shortcut to the Windows Explorer context menu. When you select
two or more files and right-click on them, you can select the Rename RegEx…
command to display the RenameRegEx window.
There you can enter the pattern to match and the replacement pattern,
using the full power of regular expressions.

main window

You can use the right-arrows after each expression field to enter any of the special characters above.
This is usually easier than memorizing the sometimes arcane syntax of regular expressions.

The dropdown combo boxes store their previous values so you can easily reuse previous expressions.

The Case-sensitive matching check box enables,
of course, case-sensitive searches, which ensures that the text will only
match if the case matches.

If you select the Replace all matches check box,
every match will be replaced with the target expression.
If the check box is cleared, only the first match will be replaced.

If the Replace “#” with… check box is selected,
any occurrence of the # character in the target expression will be replaced by a number,
starting with the number you enter.

 

Regular Expressions

This documentation will be fairly brief and it assumes you have some knowledge of
regular expressions. If you want to learn more, you can read about them on the Internet.

You use a regular expression to match a specific pattern of text, such as all words that
begin with “b” or all text starting with 0 and ending with a period.

Regular Expression Syntax

. Matches any single character.
[ ] Indicates a character class. Matches any character inside the brackets (for example, [abc] matches “a”, “b”, and “c”).
^ If
this metacharacter occurs at the start of a character class, it negates
the character class. A negated character class matches any character
except those inside the brackets (for example, [^abc] matches all
characters except “a”, “b”, and “c”).
If
^ is at the beginning of the regular expression, it matches the
beginning of the input (for example, ^[abc] will only match input that
begins with “a”, “b”, or “c”).
In a character class, indicates a range of characters (for example, [0-9] matches any of the digits “0” through “9”).
? Indicates
that the preceding expression is optional: it matches once or not at
all (for example, [0-9][0-9]? matches “2” and “12”).
+ Indicates that the preceding expression matches one or more times (for example, [0-9]+ matches “1”, “13”, “666”, and so on).
* Indicates that the preceding expression matches zero or more times.
??, +?, *? Non-greedy
versions of ?, +, and *. These match as little as possible, unlike the
greedy versions which match as much as possible. Example: given the
input “”, <.*?> matches “” while <.*> matches “”.
( ) Grouping operator. Example: (\d+,)*\d+ matches a list of numbers separated by commas (such as “1” or “1,23,456”).
{ } Indicates
a match group. The actual text in the input that matches the expression
inside the braces can be retrieved through the CAtlREMatchContext
object.
\ Escape character:
interpret the next character literally (for example, [0-9]+ matches one
or more digits, but [0-9]\+ matches a digit followed by a plus
character). Also used for abbreviations (such as \a for any
alphanumeric character; see table below).
If
\ is followed by a number n, it matches the nth match group (starting
from 0). Example: <{.*?}>.*?</\0> matches
“<head>Contents</head>”.
$ At
the end of a regular expression, this character matches the end of the
input. Example: [0-9]$ matches a digit at the end of the input.
| Alternation operator: separates two expressions, exactly one of which matches (for example, T|the matches “The” or “the”).
! Negation operator: the expression following ! does not match the input. Example: a!b matches “a” not followed by “b”.

Abbreviations

You can also use abbreviations, such as \d instead of [0-9].

\a Any alphanumeric character.
\b White space (blank).
\c Any alphabetic character.
\d Any decimal digit.
\h Any hexadecimal digit.
\n Newline.
\q A quoted string.
\w A simple word.
\z An integer.

 

Tips and Tricks

If you have a set of numbered files that you want to renumber, it’s possible
that the filenames might “collide” during renaming. For example:

Current name New name
test1.txt test1.txt
test11.txt test12.txt
test2.txt test3.txt

If the source expression is test.+ and the target expression
is test#.txt, RenameRegEx will display an error when it tries
to rename test11.txt to test2.txt
because test2.txt already exists.

The workaround is to modify the rest of the filename too, not just the numbers.
In this example, you can change the target expression to test_#.txt.
(Note the new underscore.)

 

Requirements

RenameRegEx runs on Microsoft®
Windows® Vista, XP Home and Professional, 2003, and 2000.
(Although it may work on other versions of Windows, it’s not guaranteed.)

Tags:

5 Comments

    1. 이런식으로 파일명을 바꾸는 프로그램은 이미 많습니다.
      이 프로그램을 소개시켜드리는 주된 목적은 탐색기 상에서 파일명 변경시 정규식을 사용할 수 있다는 점입니다.

      조금만 관심가지시면 나중에는 정말로 여러모로 도움이 많이 되실 겁니다.

  1. 전 여태까지 Darknamer 를 써왔는데 이것도 명품이네요! 좋은 정보네요. 감사합니다!!!

  2. 혹시 파일명을 무작위로 변경한 다음, 다시 원래 파일명으로 되돌 수 있는 기능을 가진 프로그램 없습니까?
    예를 들어 가나다.txt 를 2y0a8dg.txt 혹은 as8dhf823ds9 등으로 바꾼 후
    다시 가나다.txt로 되돌 수 있는 기능을 가진 프로그램을 찾습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *