在dos / batch中添加字符串到filename

时间:2012-11-19 21:21:04

标签: batch-file dos

我没有在这里或网上找到任何关于这个小问题的内容,我不知道该怎么做。

假设您在windows / DOS下有以下文件: 的 FILENAME.EXT

您希望在同一目录中复制此文件。副本应具有以下名称: 的 filename.AA.ext

如何使用批处理文件(.bat)?

感谢您的帮助。

附录: 实际上,如果像这样的东西适用于任何扩展名的文件,那就是我要找的目标结果:

复制(星级)。(星级)(星级).AA。(星级)

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

4 个答案:

答案 0 :(得分:2)

COPY命令使用与RENAME相同的通配符规则 - 请参阅How does the Windows RENAME command interpret wildcards?

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

copy filename.ext *.AA.ext

复制多个文件

copy *.ext *.AA.ext

答案 1 :(得分:1)

我会从这样的事情开始:

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

适用于多个文件的内容......

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

答案 2 :(得分:1)

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

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

安东尼奥

答案 3 :(得分:1)

解决!!

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

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

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

感谢大家的帮助!