왼쪽 형식의 파일 목록이 있습니다. 각 파일 이름에 문자열을 추가하고 싶지만~ 전에확장은 다음과 같습니다.
File 1.txt -> File 1 version 1.txt
File 2.txt -> File 2 version 1.txt
File 3.txt -> File 3 version 1.txt
File 4.txt -> File 4 version 1.txt
...
각 경우에 추가된 문자열은 모든 파일에서 동일합니다.
이것은 매우 간단한 작업처럼 보이지만 배치 파일에 넣는 데 문제가 있습니다.
나는 ren
명령을 시도하고 몇 가지 예제를 따랐습니다.이 페이지하지만 결과 파일 이름에는 문자열이 추가됩니다.~ 후에확장:
File 1.txt version 1.txt
답변1
?
더 긴 파일 이름 의 경우 블록에 더 많은 양의 파일을 추가해야 합니다.?????????
ren *.?* ????????????????????????????????????????????????????????" version 1".*
답변2
의지하는 대신렌의 문서화되지 않은 단점이 있는데 왜 올바른 방법으로 수행하지 않습니까?
for %a in (*.txt) do ren "%~a" "%~na version 1%~xa"
배치 파일에서 이것을 사용하려면 각 % 기호를 두 배로 늘리는 것을 기억하세요.
이 코드 줄은 일치하는 모든 파일을 반복 *.txt
하고 각 파일 이름에 대해 이름 바꾸기 명령( ren
)을 수행합니다. %a
는 전체 파일 이름이고, %~a
는 추가 따옴표가 추가되지 않은 파일 이름입니다(따옴표는 명령에 추가됨). %~na
은 파일 확장자가 없는 파일 이름이고 %~xa
는 파일 확장자입니다.
단일 파일이 있는 경우 File 1.txt
현재 디렉터리에서 다음 명령이 실행됩니다.
ren "File 1.txt" "File 1 version 1.txt"
답변3
여러 파일에 "_A"를 추가하고 싶었는데 이렇게 했습니다.
먼저 확장자를 제거하고 접미사를 추가한 다음 확장자를 다시 원본으로 변경했습니다. 나는 프로그래머가 아니기 때문에 확실히 나에게 효과가 있었고 배치 코드를 단순하게 유지했습니다.
@ECHO OFF
REN *.pdf *.
REN *. *_A.
REN *. *.pdf
답변4
나처럼 명령 사용 경험이 없는 사람들을 위해 대량 이름 바꾸기를 매우 쉽게 해주는 몇 가지 소프트웨어가 있습니다.
- 대량 이름 바꾸기 유틸리티(오픈 소스 없음)
- 이름을 바꾸세요! (오픈 소스)