태그 보관물: batch-file

batch-file

CLI를 통해 Windows 대량 이름 바꾸기 중간 파일 이름? 출력 File 15 – Example.txt File

원본 파일

File 15 - Example.txt
File 2 - Example.txt
File 22 - Example.txt
File 3 - Example.txt
File 4 - Example.txt
File 5 - Example.txt

원하는 출력

File 15 - Example.txt
File 02 - Example.txt
File 22 - Example.txt
File 03 - Example.txt
File 04 - Example.txt
File 05 - Example.txt

로 단일 파일의 이름을 쉽게 바꿀 수 있습니다 ren.

ren "File 2 - Example.txt" "File 02 - Example.txt"

Windows ren또는 rename도구를 사용하여 대량으로 이름을 바꿀 수 있습니까?



답변

Windows ren 또는 이름 바꾸기 도구를 사용하여 대량으로 이름을 바꿀 수 있습니까?

예, 그러나 배치 파일이 필요합니다.

test.cmd :

@echo off
setlocal EnableDelayedExpansion
for /f "tokens=1,2,3,4" %%i in ('dir /b *Example.txt') do (
  rem pad 2nd token with leading zero
  set _num=0%%j
  set _num=!_num:~-2!
  ren "%%i %%j %%k %%l" "%%i !_num! %%k %%l"
  )
endlocal

예:

> dir *Example.txt
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test\test

03/01/2019  11:30                 0 File 15 - Example.txt
03/01/2019  11:30                 0 File 2 - Example.txt
03/01/2019  11:30                 0 File 22 - Example.txt
03/01/2019  11:30                 0 File 3 - Example.txt
03/01/2019  11:30                 0 File 4 - Example.txt
03/01/2019  11:30                 0 File 5 - Example.txt
               6 File(s)              0 bytes
               0 Dir(s)  1,075,134,230,528 bytes free

> ..\test

> dir
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test\test

03/01/2019  11:54    <DIR>          .
03/01/2019  11:54    <DIR>          ..
03/01/2019  11:30                 0 File 02 - Example.txt
03/01/2019  11:30                 0 File 03 - Example.txt
03/01/2019  11:30                 0 File 04 - Example.txt
03/01/2019  11:30                 0 File 05 - Example.txt
03/01/2019  11:30                 0 File 15 - Example.txt
03/01/2019  11:30                 0 File 22 - Example.txt
               6 File(s)              0 bytes
               2 Dir(s)  1,075,134,230,528 bytes free

추가 자료


답변

이 PowerShell을 하나 라이너 두 위치에 파일 이름에 모든 숫자를 확장됩니다 .PadLeft(2,'0'):
(그리고 더 많은 장소의 손길이 닿지 않은으로 번호를 남겨)

Get-ChildItem *[0-9]*.txt|Rename-Item -NewName {([regex]::Replace($_.BaseName,'\d+',{$args[0].Value.PadLeft(2,'0')}))+$_.Extension}

cmd 줄 / 배치 파일에 싸여 주제에 있어야합니다.

Powershell -Nop -C "Get-ChildItem *[0-9]*.txt|Rename-Item -NewName {([regex]::Replace($_.BaseName,'\d+',{$args[0].Value.PadLeft(2,'0')}))+$_.Extension}"

명령을 실행하기 전에 안전을 유지하려면 다음 중 하나를 추가하십시오.

  • -Confirm 이름 바꾸기 전에 묻습니다.
  • -WhatIf이는 모두 나열 이름 바꾸기는 매개 변수없이 실행

마지막 앞에서 "


답변

편집 : 방금이 질문이 명령 줄에서 이름을 바꾸는 것에 관한 것임을 알았습니다. 그래서 질문에 직접 대답하지 않습니다 … 지금은 다른 사람들에게 유용 할 것으로 기대하면서 계속하겠습니다.


총 사령관의 파일 관리자는 우수한 대량 이름 바꾸기 도구가 있습니다. 여기에는 이름 바꾸기 미리보기, 다른 이름 바꾸기 마스크, 정규식, 전체 폴더 계층 구조에서 파일 이름 바꾸기 등을 포함한 많은 기능이 포함됩니다. 동시에 사용하기가 매우 쉽습니다.

사용법을 보여주는 스크린 샷은 다음과 같습니다.

총 사령관 다중 이름 변경 예

단계별 :

  1. Total Commander를 다운로드 하여 실행하십시오.
  2. 이름을 바꿀 파일이있는 폴더로 이동하십시오.
  3. 이름을 바꿀 파일을 표시하십시오.
    • 폴더의 모든 파일을 표시하기위한 옵션 1- Ctrl+A
    • 옵션 2- Space키 또는 마우스 오른쪽 버튼을 사용하여 파일을 하나씩 표시 하십시오.
    • 옵션 3- “파일 찾기”( Alt+ F7)를 열고 ” *.txt검색 대상”상자에 입력 한 다음 “검색 시작”을 클릭하고 “목록 상자에 피드”를 누른 다음 Ctrl+로 파일을 표시하십시오 A. 내부 폴더에서도 파일 이름을 바꾸려면이 기술을 사용하십시오.
  4. Ctrl+ M를 눌러 다중 이름 변경 도구를 엽니 다.
  5. “검색”및 “바꾸기”상자에서 원하는 값을 설정하십시오. 정규식을 사용하는 경우 RegEx 상자를 선택하십시오.
  6. “시작!”을 누르십시오.

답변

ren *.bat *.txt이름의 다른 부분을 유지하는 일치하는 모든 파일에서 확장자의 이름을 바꾸는 작업을합니다. 이 ren명령 을 남용하여 일련의 명령 을 실행할 수 있습니까?

  • ren "File *" "File 0*"
  • ren "File 00*" "File 0*"
  • (같은 매달린 나머지를 다루는 File 022 - Example.txt

답변