2017-04-19 1 views
1

동일한 디렉토리의 여러 파일 이름에서 특정 부분을 제거하려면 배치 파일이 필요합니다.파일 이름 부분을 제거하십시오.

예 :

Test Title, The - Conspiracy.zip 

내가 필요로하고있다 "는"과 같이 제목을 떠나고 파일 이름에서 제거 :

Test Title - Conspiracy.zip 

그래서 같은 제목을 통해 80,000+ 파일이 추신 : 배치 파일에만 필요합니다!

도움을 주시면 감사하겠습니다. 고맙다 !!!

답변

-1

이 루프와 같은 방식으로 파일 디렉토리의 내용을 반복 할 수 있습니다. Batch script loop

다음 루핑 할 때 파일 이름의 내용을 바꿀 수 있습니다. 이것 좀 봐 : String replacement in batch file

죄송합니다. 더 구체적으로 배치 스크립트는 내 것이 아닙니다. 그러나이 논리는 최소한 도움이 될 것입니다. 내 게시물 뭔가 더 나은 사람.

+0

나는 OP가 파일의 이름을 바꾸고 텍스트의 내용을 바꾸지 않을 것이라고 생각합니다. – TinkerTenorSoftwareGuy

+1

당신이 옳습니다. 최종 파일은 파일 이름의 중간에서 ","을 제거하고 시작 부분에 "The"를 추가합니다. –

+1

다음 주셔서 감사합니다. 배치에서 실제로 일하지 않기 때문에 나는 그것을 해결했을 것이라고 생각합니다. 사람들은 때때로 여기에 너무 비판적입니다, 나는 단지 내가 할 수있는 곳에서 대답을하려고 노력합니다. –

0

Unix 명령 셸을 사용할 수있는 경우 루프에서 mv 명령을 사용할 수 있습니다.

당신은 Cygwin에서 또는 힘내 배쉬를 다운로드 할 수 있습니다, 또는 당신은 윈도우 10이있는 경우, 명령 줄에서이 오른쪽 (업데이트 된 한 가정) 할 수있는 :

#!/bin/bash 
for file in *.zip 
do 
    removedPart=", The" 
    mv "${file}" "${file/removedPart/}" 
done 
같은 파일 만들기

하나의 파일에서 명령을 테스트하여 원하는대로 작동하는지 확인할 수 있습니다. 즉

file=Test Title, The - Conspiracy.zip 
removedPart=", The" 
mv "${file}" "${file/removedPart/}" 
+0

이것은 파일의 이름을 바꾸고 파일 내의 텍스트를 변경하지 않으려는 경우입니다. 저것은 zip 파일을 고려하여 저에게 가장 이해가되었습니다. – TinkerTenorSoftwareGuy

+0

실제로 약 75 가지의 다른 확장 기능이 있지만, 모든 기능을 처리하기 위해 야생 카드를 사용할 수 있습니다. –

2

빠른 응답과 도움을 얻기 위해 필요한 것을 찾았습니다.

@echo off &setlocal 
set currentDirectory="%CD%" 
for /f "delims=" %%a in ('dir /b /a-d *, The*.*') do (
set "fname=%%~a" 
setlocal enabledelayedexpansion 
set "nname=!fname:, The=!" 
ren "!fname!" "!nname!" 
endlocal 
) 
관련 문제