Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
Windows 使用BAT命令复制并重命名新文件_Windows_Batch File_Cmd_Command Prompt - Fatal编程技术网

Windows 使用BAT命令复制并重命名新文件

Windows 使用BAT命令复制并重命名新文件,windows,batch-file,cmd,command-prompt,Windows,Batch File,Cmd,Command Prompt,我在C:\文件夹中有一个文件,如下所示: My_File_mmddyyyy_hhmmss.txt 文件的mmddyy_hhmmss将根据生成文件的日期和时间进行更改。如何创建一个批处理文件,将该文件复制到C:\TEST\并将复制的文件重命名为My_file\u mmddyy.txt(从文件名中删除\u hhmmss) 由于文件名中的日期和时间发生了更改,我可以执行以下操作: @ECHO OFF xcopy /s c:\My_File_*.txt c:\TEST\My_File_mmddyyyy

我在
C:\
文件夹中有一个文件,如下所示:

My_File_mmddyyyy_hhmmss.txt
文件的
mmddyy_hhmmss
将根据生成文件的日期和时间进行更改。如何创建一个批处理文件,将该文件复制到
C:\TEST\
并将复制的文件重命名为
My_file\u mmddyy.txt
(从文件名中删除
\u hhmmss

由于文件名中的日期和时间发生了更改,我可以执行以下操作:

@ECHO OFF
xcopy /s c:\My_File_*.txt c:\TEST\My_File_mmddyyyy.txt
但是,原来的
mmddyyyy
将消失


如何实现我希望实现的目标?

命令
COPY
(以及其他命令)具有一些鲜为人知的功能:

COPY My_File_*.txt My_File_????????.txt

新名称中的八个问号将导致源代码的
mmddyyy
部分被准确保留。

mmddyy实际上是系统自动生成的数字,因此它可以是任何时间的任何东西。。。因此,我希望它与通配符一起使用。。。
My_文件
始终是same@SiKni8:这不是问题,因为即使您不知道文件名,也可以始终使用
FOR
来捕获文件名。但在这种情况下,即使这样也没有必要;只需对源文件使用通配符即可。我更新了答案。不管怎样,我的
s
导致批处理无法工作。