2

对于这个小问题,我在这里或网上都没有找到任何东西,我不知道该怎么做。

假设您在 windows/DOS 下有以下文件: filename.ext

您想在同一目录中复制此文件。副本的名称应为: filename.AA.ext

如何使用批处理文件 (.bat) 做到这一点?

谢谢您的帮助。

附录:实际上,如果这样的东西适用于任何具有任何扩展名的文件,这就是我正在寻找的目标结果:

复制(星).(星)(星).AA.(星)

此外,我很乐意将具有不同扩展名的文件(比如说 1 个 pdf 和 1 个 exe)放在一起,并将它们拖到批处理文件上,以便将它们重命名在同一目录中,其中包含“.AA”。

4

4 回答 4

2

COPY 命令使用与 RENAME 相同的通配符规则 - 请参阅Windows RENAME 命令如何解释通配符?.

不需要批量。您当然可以将命令放在批处理文件中,但这不是必需的。

copy filename.ext *.AA.ext

复制多个文件

copy *.ext *.AA.ext
于 2012-11-19T21:40:24.497 回答
1

下面的批处理文件实现了您希望从资源管理器拖放到其中的所有文件的过程。

@echo off
:nextFile
   if "%~1" equ "" goto exitLoop
   copy "%~1" "%~DPN1.AA%~X1"
   shift
   goto nextFile
:exitLoop

安东尼奥

于 2012-11-20T01:05:46.947 回答
1

解决了!!

我在安东尼奥的解决方案的帮助下回答了我自己的问题。要在代码中添加路径并在同一目录中获取复制的文件,请完成 Antonio 的代码,如下所示:

@echo off
:nextFile
   set filepath=%~dp1
   if "%~1" equ "" goto exitLoop
   copy "%~1" "%filepath%%~N1.AA%~X1"
   shift
   goto nextFile
:exitLoop

现在您可以拖放多个文件,每个文件具有不同的文件扩展名,它们将被复制到同一目录中。

感谢大家的热心帮助!

于 2012-11-20T09:26:39.203 回答
1

我会从这样的事情开始:

mkdir \tmpdir
copy filename.ext \tmpdir
mov \tmpdir\filename.ext filename.AA.ext

对于适用于多个文件的东西......

mkdir \tmpdir
copy *.ext \tmpdir
mov \tmpdir\*.ext *.AA.ext
于 2012-11-19T21:29:55.637 回答