답변:
ren
텍스트를 같은 길이의 텍스트로만 바꿀 수 있습니다. 당신이 파일이있는 경우 예를 들어, file1.txt
그리고 file2.txt
, ren file*.txt blah*.txt
당신이 (당신이 지금 파일이 기대하지 blah1.txt
하고 blah2.txt
). 그러나 ren blah*.txt myfile*.txt
명령 을 입력 하면 이름 blah1.txt
이 myfile.txt
(not myfile1.txt
)으로 바뀌기 때문에 폭탄이 제거되고 해당 파일이 이미 있기 때문에 이름 blah2.txt
을 바꿀 수 없습니다 myfile.txt
.
두 가지 해결책이 있습니다.
모든 파일이 같은 폴더에 있습니다
해당 폴더의 명령 프롬프트에서 다음을 실행하십시오.
for /f "delims=¯" %i in ('dir /b /on') do ren "%i" "._%i"
하위 폴더에 파일이 있고 "n"첫 문자를 원하는 문자열로 바꾸려는 경우 완벽한 솔루션 : D
path
: ""
파일의 루트 경로에 넣으십시오 (예 : "C : \ documents and settings \ user \ desktop \ new folder")numfirstchars2replace
: 바꿀 첫 문자로 숫자를 입력하십시오 (귀하의 경우 2)str2put
: 새 파일 이름의 접두사로 추가 할 문자열을 넣으십시오 (귀하의 경우 ._
)@echo off
::only to tell user what this bat are doing
echo.1.initializing...
::enable that thing to allow, for example, incremental counter in a for loop :)
echo.- EnableDelayedExpansion
SETLOCAL EnableDelayedExpansion
::variables
echo.- variables
:: - place here the absolute root path of your files
set path="put here where are the root folder of your files"
set pathbak=%cd%
set numfirstchars2replace=2
set str2put=._
::go to %path% and its driveletter
echo.- entering the path you want
for /f "delims=¯" %%i in ('echo.%path%') do %%~di
cd %path%
::search all subfolders and save them to a temp file
echo.- searching for subfolders
echo.%path%>%temp%\tmpvar.txt
for /f "delims=¯" %%i in ('dir /s /b /on /ad') do echo."%%i">>%temp%\tmpvar.txt
::execute command for root folder and all found subfolders
echo.
echo.2.executing...
for /f "delims=¯" %%i in (%temp%\tmpvar.txt) do (
cd %%i
echo.- in folder: %%i
for /f "delims=¯" %%j in ('dir /b /on /a-d') do (
set newname=%%j
set newname=!newname:~%numfirstchars2replace%,1000!
echo.- renaming from "%%j" to "%str2put%!newname!"...
ren "%%j" "%str2put%!newname!"
)
)
echo.
echo.3.exiting...
::return to %pathbak% and its driveletter
for /f "delims=¯" %%i in ('echo.%pathbak%') do %%~di
cd %pathbak%
@echo on
Windows 7에 사전 설치된 Powershell을 사용해보십시오.
Get-Childitem /path/to/your/files | foreach-object { move-item $_ $("._" + $_.name) }
(내 다운로드 디렉토리에서 테스트했습니다.)
편집 : Siim K의 코드는 모든 "._filename.jpg"에 추가 ".jpg"를 추가합니다. Siim K의 코드에서 마지막 ".jpg"를 제거하면 파일 이름을 바꿀 수있는 짧고 우아한 코드가 있습니다.
Total Commander 는 정말 멋진 멀티 네이밍 툴입니다.
Flash Renamer 는 파일을 일괄 적으로 이름을 바꾸는 데 유용한 도구라는 것을 항상 알고 있었습니다.
그것은 시험판과 정식 버전 ($ 20)을 가지고 있으며 메타 데이터를 기반으로 파일 이름을 바꿀 수 있습니다-주로 내가 사용하는 MP3 파일의 이름을 바꾸는 데 매우 유용합니다.
사용자 친화적 인 이름을 바꾸는 방법을 찾고 있다면 무료 도구 인 Ant Renamer를 사용해 볼 수 있습니다. 수행 할 수있는 많은 작업 목록이 있으며 이름을 바꾸기 전에 편리한 미리보기를 제공합니다. 음악, 사진 또는 비디오 라이브러리를 망칠 때 많이 사용합니다.
이 프리웨어 File Renamer 프로그램을 사용하여 훌륭한 결과를 얻었습니다. 다양한 필터 및 옵션과 더불어 결과를 테스트 할 수 있습니다. 약간 오래된 UI 일 수도 있지만 챔피언처럼 작동합니다.