it-swarm-korea.com

어떻게 파일의 이름을 바꿀 수 있습니까?

나는 99 - DescriptiveName.txt 패턴으로 이름 붙여진 파일들을 가지고 있는데, 앞에서 숫자를 지우고 싶습니다. 그래서 나는 DescriptiveName.txt를 가지고 있습니다.

어떻게해야합니까? 명령 줄에서이 작업을 수행 할 수 있습니까? 아니면이 작업을 수행 할 수있는 유틸리티가 있습니까?

124
BIBD

나는 당신의 제목에서 당신이 "도스"라고 말하지만, 당신이 이것을하는 길을 찾고 있다는 느낌을 얻고 이것이 최선의 길인지 궁금해하고 있습니다.

내가 찾은 최고의 도구는 일괄 이름 바꾸기 유틸리티 입니다.

Bulk Rename Utility

그것은 명령 행 도구는 아니지만 실제로 그렇게 사용하려면 명령 행 버전 이 있습니다.

필자는 GUI 버전을 많이 사용했으며 매우 강력하고 매우 빠르고 사용하기 쉽습니다.

오, 그리고 개인적인 용도로는 무료입니다.

93
Jim McKeeth

작은 PowerShell 스크립트 :

$args | Rename-Item -NewName { $_.Name.ToLower() -replace '\d+ - ' }

보다 복잡한 정규 표현식과 결합하면 다음과 같이 될 수 있습니다.

ls | Rename-Item -NewName {$_ -replace '(\d+) - (.*).mp3', '$2 - $1.mp3' }

'01 - Beginning.mp3 '과 같이'Beginning - 01.mp3 '이됩니다.

이름을 변경하기 전에 -WhatIfRename-Item 매개 변수를 사용하여 이름을 확인하십시오.

56
Joey

AntRenamer 를 사용하면 이름 바꾸기 패턴을 쉽게 정의 할 수 있습니다. 이미 준비된 것들이 많이 있습니다 (그리고 그것은 동작의 미리보기를 제공합니다) :

AntRenamer

개인적 및 상업적 용도로는 무료입니다.

24
Gnoupi

정말로 윈도우 커맨드 라인을 사용하고 싶다면 (뭔가를 다운로드하고 싶지 않다면) 다음과 같이 할 수 있습니다 :

dir /B > fileList.txt
for /f "tokens=1,2,3" %i in (fileList.txt) DO ren "%i %j %l" %l

첫 번째 행은 파일 목록을 fileList.txt 파일에 출력합니다. 두 번째 줄은 목록의 각 이름을 #, "-"및 나머지 이름으로 구분합니다. 각각의 경우 이름 바꾸기 명령을 수행합니다.

24
zdan

오래된 학교:

DIR * .TXT> TEMP.BAT와 같이 DIR을 수행하고 출력을 파일로 리디렉션 할 수 있습니다.

그런 다음 편집기를 사용하여 필요하지 않은 것을 꺼내서 필요한 부분을 수정하십시오. 맨 위 줄에 "@echo off"를 추가하고 저장하고 실행하십시오.

19
WireGuy

다른 옵션 :대용량 파일 이름 바꾸기

쉽게이름 바꾸기multiple파일 및 파일 확장자를 허용합니다. 매우 빠르고 간단합니다!

고급 사용자와 개발자는정규 표현식을 사용할 수 있습니다.

실제 상황보기 :

enter image description here

16
IvanRF

나는 총 사령관 의 다중 이름 바꾸기 도구 (ctrl + M)를 이런 식으로 사용합니다. 수없이 많은 도구 중 하나 인 유용한 도구는 사용하기 쉽고 필요한 경우 정규식과 템플릿을 사용할 수도 있습니다. 아, 그리고 변경 사항을 적용하기 전에 미리보기가 제공됩니다.

이것은 총 사령관에게 추천 한 세 번째 또는 네 번째 질문입니다 ... 나는 그들에게서 위임을 받아야합니다 ;-)

13
Yuval

내가 만족하고있는 도구는 ReNamer 입니다. 또한 여러 번 같은 이름을 사용하기 때문에 이름 바꾸기 규칙을 절약 할 수 있습니다.

다음은 첫 번째 대시 전에 텍스트를 삭제하는 방법의 예입니다. 그러나 정의 할 수있는 다른 규칙이 많이 있습니다.

enter image description here

11
Esko Luontola

나는이 좋은 효과를 위해 Free Commander Portable (프리웨어)를 사용했습니다 :

  1. 이름을 바꿀 파일 또는 디렉토리를 선택하거나 탐색하십시오.
  2. [Ctrl-M] (또는 파일> 다중 이름 바꾸기)을 누릅니다.
  3. 너의 상황에 맞는 것처럼 필드를 채우라.
  4. 미리보기가 예상 한 것을 보여 주는지 확인하십시오.
  5. 가기!
5
matt wilkie

고급 사용자와 개발자를 위해 나는 RegexRenamer 를 제안했다.

RegexRenamer screenshot

프로 :

  • 아주 간단한 UI;
  • 개발자가 익숙한 정규 표현식.
  • GPLv2;

콘 :

  • 명령 줄이 아닙니다! :)
4
bytebuster

나는 RenPhoric 약 한 달 전에 발견했습니다. 훌륭한. 그리고 그것은 무료입니다 .

복잡한 인터페이스가 없었으며 원하는대로 정확하게 이름을 바꿀 수있었습니다. 정규식 가능. 그 이후로 다른 것을 사용하지 않았습니다.

3
Umber Ferrule

가장 쉬운 방법은 마스터 이름 변경 을 사용하는 것입니다.

3
Kevin Panko

여기에 파일 이름에서 "패턴"으로 작업하기 쉽게 작성된 Java 프로그램 인 명령 행 솔루션이 있습니다. 무료이며 오픈 소스이므로 자유롭게 수정할 수 있습니다.

RenameWand
http://renamewand.sourceforge.net/

몇 가지 관련 사용 예 :

파일 이름에서 "-" 앞에있는 모든 것을 버립니다.

Java -jar RenameWand.jar  "<a> - <b>"  "<b>"

마지막으로 수정 한 시간순으로 정렬하여 파일 이름에 3 자리 숫자를 추가하십시오.

Java -jar RenameWand.jar  "<a>"  "<3|#FT> <a>"

파일 이름의 일부를 재정렬하고 대소 문자를 변경하십시오.

Java -jar RenameWand.jar  "<album> - <artist> - <song>.<ext>" 
                          "<artist.upper> <album.title> - <song>.<ext.lower>"
3
Zach Scrivena

위의 @zdan과 마찬가지로 명령 줄 (Windows의 경우 "cmd.exe"사용)으로이 작업을 수행했습니다. 내 경우에는 약간의 수정이 필요했지만 약간의 연구만으로 해결되었습니다.

Zdan과 마찬가지로 TXT 파일에 목록을 출력 한 다음 tokensdelims을 사용하여 그에 따라 파일의 이름을 바꿉니다. 필자의 경우, 필자는 다음과 같은 파일 목록을 시작했다.

name-01-02-2012.csv

나는 파일 날짜 부분을 y/m/d 순서로하고 싶었고, 마지막에 "name"부분을 다음과 같이 읽었습니다.

2012-01-02-name.csv

이 en-masse하려면 다음 코드를 사용합니다. 이 방법을 사용하면 ".csv"확장자를 포함하여 파일 이름의 모든 부분이 고려됩니다. 그게 처음으로 나를 괴롭혔다.

dir /B > fileList.txt
for /f "tokens=1,2,3,4,5 delims=-." %i in (fileList.txt) DO ren "%i-%j-%k-%l.%m" %l-%j-%k-%i.%m

tokens은 파일 이름의 "부분"이고, delims은 구분 기호입니다. 필자의 경우에는 2 개의 구분자 (대시와 점)가 있음에 유의하십시오.

나는 개인적으로 "Bulk Rename"앱에 신경 쓰지 않습니다. 다른 사람들이 언급했듯이, GUI는 흉포하며 그리 직관적이지는 않습니다. 약간의 연구와 간단한 코딩만으로도 이러한 작업을 효율적이고 신속하게 수행 할 수 있습니다.

2
gtr1971

재미있는 이름과 명령 줄 도구는 매우 강력하고 매우 빠르고 사용하기 쉽습니다. "찾기 및 텍스트 바꾸기"FART http://fart-it.sourceforge.net/ 대단한 일입니다! txt 파일에서도 단어의 이름을 바꿀 수 있습니다.

용법

Usage: FART [options] [--] <wildcard>[,...] [find_string] [replace_string]

Options:
 -h --help          Show this help message (ignores other options)
 -q --quiet         Suppress output to stdio / stderr
 -V --verbose       Show more information
 -r --recursive     Process sub-folders recursively
 -c --count         Only show filenames, match counts and totals
 -i --ignore-case   Case insensitive text comparison
 -v --invert        Print lines NOT containing the find string
 -n --line-number   Print line number before each line (1-based)
 -w --Word          Match whole Word (uses C syntax, like grep)
 -f --filename      Find (and replace) filename instead of contents
 -B --binary        Also search (and replace) in binary files (CAUTION)
 -C --c-style       Allow C-style extended characters (\xFF\0\t\n\r\\ etc.)
    --cvs           Skip cvs dirs; execute "cvs edit" before changing files
 -a --adapt         Adapt the case of replace_string to found string
 -b --backup        Make a backup of each changed file
 -p --preview       Do not change the files but print the changes
2
user212780

멀티 이름 바꾸기 스크립트는 당신이 스크립트를 통해 운전할 수있는 총 사령관 다중 이름 바꾸기 도구에 대한 오픈 소스 대안입니다. 메타 데이터 정보에 TC 플러그인을 사용할 수 있습니다.

https://code.google.com/p/mult-rename-script/ http://multi-rename-script.googlecode.com/svn/trunk/docs/res/MRS.PNG

2
majkinetor
[%]에 대해 FOLDER_PATH =. 
 pushd % FOLDER_PATH % 
 (으)로 설정합니다. 
 @ echo off 
 setlocal enabledelayedexpansion 
 X = 5 [ "filename =! filename : ~ % X %!"를 설정하면 (*.) f 인 (*) do %% f neq % ~ nx0 ([.____. .] ren "%% f" "! filename! %% ~ xf"
) 
 popd 
 

이것을 배치 파일에 저장하고 실행하십시오.

2
bbm123

나는 Cylog 's WildRename 을 좋아한다. 강력하면서도 사용하기 쉽고 많은 기능이 있습니다.

  1. 빠른
  2. 문자열 조작
  3. 카운터
  4. 와일드 카드
  5. 정규식
  6. 치환
  7. 대/소문자 변환
  8. 벌채 반출
  9. 시뮬레이션 (실제로 적용하지 않고 결과를 보여줌)

enter image description here

2
Synetech

저는 Blackboard를 사용하여 대학에서 수업을 관리합니다. 과제를 대량으로 다운로드하면 (Blackboard에서 등급 열의 상단을 클릭 한 다음 "과제 파일 다운로드"Blackboard는 파일 이름에 여분의 내용을 추가합니다. -often은 Windows에서 유효하기에 너무 긴 파일 이름을 만듭니다.

그들이 닮은 모습은 다음과 같습니다.

Recitation20Assignment_studentname_attempt_2013-03-01-20-03-09_Exercise28129.docx

그리고 이것이 내가 원했던 것입니다.

studentname.docx

그래서 나는 @zdan과 @ gtr1971이 제안한 접근법을 사용했다. 그 안에는 (CMD.EXE) 내부의 파일들로 된 명령 창을 열었다. 그런 다음이 명령을 실행하여 모든 파일 이름을 문서에 넣습니다.

dir /b >filelist.txt

문서를 편집하고 폴더 이름 등을 제거하십시오.

블랙 보드에 추가 된 파일 이름을 사용자 이름과 파일 확장자로 바꾸려면이 명령을 사용하십시오.

for /f "tokens=1,2,3,4,5,6 delims=_." %i in (filelist.txt) do ren "%i _%j_%k_%l_%m.%n" %j.%n

희망이 다른 사람뿐만 아니라 도움이됩니다.

1
Webmentorman

정규식 검색을 수행하고 파일 이름을 바꾸거나 이름을 바꿀 수있는 하이브리드 JScript/배치 명령 줄 유틸리티 인 JREN.BAT 을 개발했습니다. XP 앞으로 모든 Windows 컴퓨터에서 기본적으로 실행되는 순수한 스크립트입니다. 전체 설명서는 스크립트 내에 내장되어 있습니다.

JREN.BAT가 현재 디렉토리에 있거나 더 나은 곳에서 경로 내의 어딘가에 있다고 가정하면 이름 바꾸기 작업은 사소한 작업이됩니다.

jren "^\d+[ -]+(.+)\.txt$" "$1" /i

또는

jren "^\d+[ -]+(?=.+\.)" "" /fm "*.txt"

하위 디렉터리의 이름을 재귀 적으로 수행하는 /S 옵션을 비롯한 많은 옵션이 있습니다.

1
dbenham

다음은 파일 이름을 바꾸는 데 사용할 수있는 File Attribute Changer라는 또 다른 간단한 프로그램입니다. 휴대용 프로그램이므로 USB 드라이브로 옮길 수 있습니다.

http://www.softpedia.com/get/Desktop-Enhancements/Other-Desktop-Enhancements/File-Attribute-Changer.shtml

1
Brian

심각한 파워가 필요하고 돈을 버릴 용의가 있다면 ... PowerGrep 은 시장에서 가장 강력하고 다목적 인 도구 중 하나입니다. PowerGrep ... 심지어 바이너리 검색 및 바꾸기 ... RegEx Guru Jan Goyvaerts 에 의해 생성되었습니다.

enter image description here

0
Eddie B