我想重命名执行批处理文件的文件夹中的所有文件名。
该文件应询问用户名称和扩展名,并创建以下内容:
例如:
名字:马
扩展名: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
答案 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