파일 이름의 일부분 바꾸기


1

나는 "[무언가] 무언가"형식의 모든 PDF 파일을 가지고 있습니다.

첫 번째 부분과 마지막 부분을 "무언가 [something]"를 얻기 위해 어떻게 바꿀 수 있습니까?

예를 들어 (전후) :

[P. Morandi] Field and Galois Theory
Field and Galois Theory [P. Morandi]

[D. S. Bridges] Foundations of Real and Abstract Analysis
Foundations of Real and Abstract Analysis [D. S. Bridges] 

[J. G. Ratcliffe] Foundations of Hyperbolic Manifolds
Foundations of Hyperbolic Manifolds [J. G. Ratcliffe]

[R. E. Edwards] Fourier Series - A Modern Introduction Volume 1
Fourier Series - A Modern Introduction Volume 1 [R. E. Edwards]

[B. Bollobás] Graph Theory - An Introductory Course
Graph Theory - An Introductory Course [B. Bollobás]

운영 체제 용 태그를 추가하십시오.
— dirkt

@dirkt 알림을 보내 주셔서 감사합니다.
— Irregular User

점에 유의하시기 바랍니다 superuser.com 무료 스크립트 / 코드 작성 서비스가 아닙니다. 지금까지 시도한 내용 (이미 사용하고있는 스크립트 / 코드 포함)과 문제가있는 곳을 알려 주시면 특정 문제를 해결할 수 있습니다. 너는 또한 읽어야한다. 좋은 질문을하는 방법은 무엇입니까? .
— DavidPostill

@DavidPostill 필자는 프로그래머가 아니기 때문에 수동으로 파일 이름을 잘라내어 원하는 방식으로 붙여 넣을 수는 없다. 이와 같은 작업은 자동화하기에 충분히 단순해야만하는 것처럼 보이지만 그러한 코드를 스스로 만들 수는 없습니다.
— Irregular User

1
만찬은 즐겁게 쓰여졌 고 대답은 :)
— DavidPostill

답변:


2

첫 번째 부분과 마지막 부분을 어떻게 전환 할 수 있습니까?

예를 들어 (전후) :

[P. Morandi] Field and Galois Theory.pdf
Field and Galois Theory [P. Morandi].pdf

다음 배치 파일 (test.cmd)을 사용하십시오.

@echo off 
setlocal enabledelayedexpansion
for /f "usebackq delims=] tokens=1,2" %%a in (`dir /b *.pdf`) do (
  rem %%b is end part of name and will become 1st part
  rem remove extension
  set _first=%%~nb
  rem remove leading space
  set _first=!_first:~1!
  ren "%%a]%%b" "!_first! %%a].pdf"
  )
endlocal  

노트:

  • 귀하의 질문에 처음 두 예제 파일 이름으로 테스트.

사용 예 :

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

 Directory of F:\test

02/10/2016  19:43                 0 [D. S. Bridges] Foundations of Real and Abstract Analysis.pdf
02/10/2016  19:42                 0 [P. Morandi] Field and Galois Theory.pdf
               2 File(s)              0 bytes
               0 Dir(s)  1,733,769,015,296 bytes free

> test

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

 Directory of F:\test

02/10/2016  19:42                 0 Field and Galois Theory [P. Morandi].pdf
02/10/2016  19:43                 0 Foundations of Real and Abstract Analysis [D. S. Bridges].pdf
               2 File(s)              0 bytes
               0 Dir(s)  1,733,769,015,296 bytes free

더 읽을 거리

  • Windows CMD 명령 줄의 A-Z 색인 - Windows cmd line과 관련된 모든 것에 대한 훌륭한 참고서.
  • 지시 - 파일 및 하위 폴더 목록을 표시합니다.
  • / f 용 - 다른 명령의 결과에 대한 명령을 반복하십시오.
  • 매개 변수들 - 명령 행 인수 (또는 매개 변수)는 일} 처리 스크립트로 전달되는 모든 값입니다.
  • 렌 - 파일 이름을 바꿉니다.
  • 변수 - 변수의 일부를 추출합니다 (하위 문자열).

멋진, 고마워! 그것은 완벽하게 작동합니다 (š와 같은 영어 이외의 문자를 사용하는 저자를 제외하고는 드문 경우이며 수동으로 수행 할 수 있음). 추가 읽기 섹션은이 답변에 대한 거대한 보너스입니다 & lt; 생선을 가르치는 것에 대한 일부 말을 삽입하십시오 & gt;.
— Irregular User

@IrregularUser 올바른 코드 페이지를 사용하여 이상한 문자를 고칠 수 있습니다 (많은 경험이 없습니다). 만나다 chcp - 활성 콘솔 코드 페이지를 변경하십시오. 기본 코드 페이지는 Windows 로켈에 의해 결정됩니다.
— DavidPostill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.