배치 파일을 사용하여 파일 이름 끝에 텍스트를 추가하십시오 (그러나 확장자 전에)


18

왼쪽에있는 형식의 파일 목록이 있습니다. 그림과 같이 각 파일 이름에 확장자 앞에 문자열을 추가하고 싶습니다 .

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

SS64 "이 페이지"링크의 정보는이 SU Q & A (내 축복과 함께)에서 비롯됩니다 . Windows RENAME 명령은 와일드 카드를 어떻게 해석합니까? 새로운 기능을 발견 할 때 SU 답변을 (드물게) 유지합니다.
dbenham 2016 년

답변:


6

더 긴 파일 이름의 ?경우 질량이?????????

ren *.?* ????????????????????????????????????????????????????????" version 1".*

2
신속하게 답변 해 주셔서 감사합니다! 파일 확장자를 유지하고 txt 파일에만 영향을주기 위해 명령을 약간 편집했습니다. ren * .txt ????????????????????????? "버전 1.txt "
TheTurkey

처음에 무언가를 추가하고 싶다면
Farhana Haque

얼마나? 문자가 필요합니까?
Kaveesh Kanwal

39

의 문서화되지 않은 단점 에 의존하는 대신 , 이것이 올바른 방법으로 이루어지지 않는 이유는 무엇입니까?

for %a in (*.txt) do ren "%~a" "%~na version 1%~xa"

이것을 배치 파일에서 사용하려면 각 % 기호를 두 배로 늘리십시오.


1
우수한! 이것은 더 나은 답변입니다. +1
Fr0zenFyr

2

여러 파일에 "_A"를 추가하고 싶었습니다. 이것이 바로 그 방법입니다.

먼저 확장을 제거하고 접미사를 추가 한 다음 확장을 원래로 다시 변경했습니다. 프로그래머가 아니기 때문에 분명히 저에게 효과적이며 배치 코드를 단순하게 유지했습니다.

@ECHO OFF

REN *.pdf *.
REN *. *_A.
REN *. *.pdf

2

나와 같은 명령에 익숙하지 않은 사람들을 위해 대량 이름 바꾸기를 매우 쉽게하는 몇 가지 소프트웨어가 있습니다.

  • 대량 이름 바꾸기 유틸리티 (오픈 소스 없음)
  • 이름을 바꾸십시오! (오픈 소스)

1

@bwDraco의 솔루션은 훌륭했지만 더 단순하게 유지되었을 수 있습니다. 내 파일 세트는 모두 * .jpg이며 모두 * c.jpg로 이름을 바꾸고 싶었습니다. 3 단계가 아닌 2 단계 만 필요합니다.

ren "{filepath}\*.jpg" *.
ren "{filepath}\*" *c.jpg

0

하위 폴더를 통해 재귀 적으로

#!/bin/bash
# Warning: globstar excludes hidden directories.
# Turn on recursive globbing (in this script) or exit if the option is not supported:
shopt -s globstar || exit
for f in **
do
if [ -f "$f" ]; then
   extn=${f##*.} # save the extension of the file
   #mv "$f" "${f%.*}"_suffix.${extn};
   mv "$f" "${f%.*} version 1".${extn};
fi
done
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.