如何重命名目录中所有文件的某个部分。
实施例
[HorribleSubs] File1 [720p].mkv
[HorribleSubs] File2 [1080p].mkv
必须重命名为
File1.mkv
File2.mkv
答案 0 :(得分:0)
这是一个简单的批处理,可用于手动重命名单个文件。
@echo off
title Rename Bat
echo This bat must be in the folder that
echo contains the files to be renamed.
echo Enter File Name
set /p old=
echo Enter New Name
set /p new=
ren "%old%" "%new%"
echo Done
pause
这有一个循环来手动执行多个文件
@echo off
title Rename Bat
echo This bat must be in the folder that
echo contains the files to be renamed.
:begin
echo Enter File Name
set /p old=
echo Enter New Name
set /p new=
ren "%old%" "%new%"
echo Done
ping -n 3 127.0.0.1 >NUL
goto begin
真正简单的希望它有所帮助。它适用于Windows XP
答案 1 :(得分:0)
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "sourcedir=U:\sourcedir"
FOR /f "tokens=2delims=[]" %%a IN (
'dir /b /a-d "%sourcedir%\[*]*[*].mkv" '
) DO (
SET "newname=%%a"
ECHO(REN "%sourcedir%\[*]%%a[*].mkv" "!newname:~1,-1!.mkv"
)
GOTO :EOF
这可以解决您的问题。
为了测试目的,所需的REN命令仅为ECHO
。 在您确认命令正确后,将ECHO(REN
更改为REN
以实际重命名文件。
答案 2 :(得分:0)
放置文件在您要重命名的目录中
@echo off
setlocal enabledelayedexpansion
dir /b ¦ find /v /c "*">filescount.txt
for /f %%f in (filescount.txt) do (
set /a "nof=%%f-2"
for /L %%n in (1 1 !nof!) do (
for %%a in (*.mkv) do (
rename "%%a" "file%%n%%~xa"
)
)
)