需要有关在 windows 中重新编写此批处理脚本以从文件名中删除我想要的字符的指导

Need guidance on re-write this batch script in windows to eliminate the characters I want from file names

上面的脚本删除了所有文件名前面的字母 A。

@echo off
  for %%a in (A*.*) do ren "A*" "/*"

假设我想去掉文件名的最后几个字母(2 个或更多字符)例如,对于一个名为 dinnermenu_FR 的文件,我想去掉文件中的 _FR 或 FR名字。

@echo off
  for %%a in (*.*_FR) do ren "*FR" "/*"

如果我想保留下划线但去掉后面的字符,我该如何重写?

REM for each matching file do...
for %%a in (*_FR.*) do (
  REM get the part of the filename before the underscore...
  for /f "delims=_" %%b in ("%%~na") do (
    REM rename the file...
    ECHO ren "%%a" "%%b%%~xa"
  )
)

每一行我都做了注释,所以你应该能看懂代码。有关修饰符 %%~.. 的帮助,请参阅 for /?
我还通过回显来“解除”ren 命令。排除故障后删除 ECHO,当您确定时,它会做您想要的。