Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用交替alpha后缀进行批重命名_Batch File_Rename - Fatal编程技术网

Batch file 使用交替alpha后缀进行批重命名

Batch file 使用交替alpha后缀进行批重命名,batch-file,rename,Batch File,Rename,我希望通过添加一个字母字符的后缀来批量重命名大量文件,但仅限于特定范围。例如:126.pdf文件应更名为126A.pdf,127.pdf文件应更名为127B.pdf,128.pdf文件应更名为128A.pdf,129.pdf文件应更名为129B.pdf,等等。任何能够做到这一点的现有软件都值得赞赏。 谢谢 您可以使用FOR循环来检查每个文件名 setlocal EnableDelayedExpansion for %%A in (*.pdf) DO ( echo Filename=%%A

我希望通过添加一个字母字符的后缀来批量重命名大量文件,但仅限于特定范围。例如:126.pdf文件应更名为126A.pdf,127.pdf文件应更名为127B.pdf,128.pdf文件应更名为128A.pdf,129.pdf文件应更名为129B.pdf,等等。任何能够做到这一点的现有软件都值得赞赏。
谢谢

您可以使用FOR循环来检查每个文件名

setlocal EnableDelayedExpansion
for %%A in (*.pdf) DO (
  echo Filename=%%A
  set name=%%~nA
  set "prefix="
  if !name! == 123 set prefix=A
  if !name! == 999 set prefix=B
  echo rename "%%A" to "!name!!prefix!.pdf"
  ren "%%A" "!name!!prefix!.pdf"
)

之前的计划基于您请求中给出的示例。如果您以不同的、更精确的方式定义重命名规则,程序可能会完全不同

您可以尝试以下方法:

@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET suffixes=AB
FOR %%I IN (*.pdf) DO (
  RENAME "%%I" "%%~nI!suffixes:~0,1!.*"
  SET suffixes=!suffixes:~1!!suffixes:~0,1!
)
后缀
变量设置为所有可能后缀的“数组”,用于重命名

迭代文件时,将选择数组中的第一个后缀以形成新名称。然后在数组中交换后缀,以便在下一次迭代中另一个后缀成为第一个后缀


此解决方案适用于任意数量的后缀。

您没有解释用于决定选择字符的规则。顺便说一句,这是一个用于编程问题的平台,而不是用于软件推荐。@jeb:从我对这个问题的理解来看,这个想法是交替地将一组固定的后缀应用于一个已排序的文件列表。
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET suffixes=AB
FOR %%I IN (*.pdf) DO (
  RENAME "%%I" "%%~nI!suffixes:~0,1!.*"
  SET suffixes=!suffixes:~1!!suffixes:~0,1!
)