我想用 Regex 概念重命名文件

I want to rename a file with Regex concept

我想将文件 "TF-ICOT160017_JATS.xml" 重命名为 "TF-ICOT160017.xml"。请检查下面的程序并为这个概念提供正确的 Batch 程序。

@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

这个文件重命名操作似乎可以使用一个命令行:

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

再提示:

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

使用命令CHOICE。打开命令提示符 window 和 运行 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