如何将文件夹中的所有文件重命名为用户输入加计数?

时间:2014-04-28 23:32:41

标签: file batch-file rename

我想重命名执行批处理文件的文件夹中的所有文件名。

该文件应询问用户名称和扩展名,并创建以下内容:

例如:

名字:马

扩展名:exe

输出:

horse1.exe
horse2.exe
horse3.exe

@ECHO OFF
SET /P uname=Please enter your name: 
IF "%filename%"=="" GOTO Error
SET /P extension=Extension: 
IF "%extension%"=="" GOTO Error
SET COUNT=1
FOR /R %F in (*.*) do (
ren %~nF %filename%.%extension%Count+1
)
GOTO End
:Error
ECHO No input.
:End
PAUSE

2 个答案:

答案 0 :(得分:0)

@ECHO OFF
setlocal EnableDelayedExpansion

SET /P filename=Please enter your name: 
IF "%filename%"=="" GOTO Error
SET /P extension=Extension: 
IF "%extension%"=="" GOTO Error
SET COUNT=1
FOR /F "delims=" %%F in ('dir /B /A-D *.*') do (
   ECHO Executing: ren "%%F" %filename%!Count!.%extension%
   ren "%%F" %filename%!Count!.%extension%
   set /A Count+=1
)
GOTO End
:Error
ECHO No input.
:End
PAUSE

编辑回复评论

我在ECHO命令之前添加了ren字,以便查看已执行的命令并在我的计算机中运行批处理文件。这是结果:

C:\> dir /B
frame.txt
prueba.txt
prueba0.bat
prueba1.bat
test.bat

C:\> ..\test
Please enter your name: horse
Extension: exe
ren "frame.txt" horse1.exe
ren "prueba.txt" horse2.exe
ren "prueba0.bat" horse3.exe
ren "prueba1.bat" horse4.exe
ren "test.bat" horse5.exe
Presione una tecla para continuar . . .

你可以删除第一个@echo off行,运行程序并复制粘贴错误之前显示的错误...

答案 1 :(得分:-1)

@ECHO OFF
SET /P filename=Please enter your name: 
IF "%filename%"=="" GOTO Error
SET /P extension=Extension: 
IF "%extension%"=="" GOTO Error

set /a x=0
setlocal enabledelayedexpansion
FOR /R %F in (*.*) do (
set /a x+=1
ren %~nF %filename%!x!.%extension%
)
GOTO End
:Error
ECHO No input.
:End
PAUSE