我想用Regex概念重命名文件

时间:2017-03-02 06:10:44

标签: batch-file cmd batch-rename

我想重命名一个文件" TF-ICOT160017_JATS.xml" to" TF-ICOT160017.xml"。请检查以下程序,并为此概念提供正确的批处理程序。

@echo off
set /p file=Enter File Path: 
:Main
echo.
echo 1. Rename
echo 2. Exit
echo.
set /p choice=Enter Your choice: 
IF %choice% == 1 goto File_Rename
IF %choice% == 2 exit
:File_Rename
ren TF-[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9]_JATS.xml TF-[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9].xml
goto Main

1 个答案:

答案 0 :(得分:0)

看起来单个命令行可用于此文件重命名操作:

ren TF-??????????_JATS.xml TF-??????????.xml

还有一个提示:

不要使用set /P让用户在两个选项之间进行选择。用户只需按 RETURN ENTER 而不会意外输入任何内容,并且您的批处理文件将退出并出现语法错误。用户还可以自由输入1或2以外的任何内容,并且您的批处理文件会再次失败。

使用命令 CHOICE 。打开命令提示符窗口并运行choice /?以获取有关此命令的帮助。

@echo off
:Main
echo/
echo 1. Rename
echo 2. Exit
echo/
choice /C12 /N "Please make your choice: "
if errorlevel 2 exit /B
ren TF-??????????_JATS.xml TF-??????????.xml
goto Main