使用批处理文件复制和重命名文件

时间:2014-04-29 22:43:16

标签: batch-file file-rename

我有成千上万个类似于abcdefgh_20140430120000.txt

的文本文件

我想将这些文件从一个文件夹复制到另一个文件夹,如

xcopy "Y:\FolderA" "C:\FolderB" 

但是,我想删除文件名中的时间部分,以便文本文件看起来像abcdefgh_20140430.txt

任何人都可以帮我处理代码吗?

3 个答案:

答案 0 :(得分:3)

您可以使用rename命令清除复制文件名中不需要的部分。

copy "Y:\FolderA" "C:\FolderB"
rename "C:\FolderB" "C:\FolderC"

这应该有用,如果你有任何问题,请告诉我,我会尽力解决它:)

你也不需要复制前面的x,或者至少我不需要它,因为我使用的是Windows 8.1,如果它与它有任何关系。

答案 1 :(得分:3)

在文件夹中启动它:它应该根据需要复制它们并删除文件名的最后6个字符。

其中包含!的文件名将产生错误。

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir *.txt /b /a-d ') do (
    set "name=%%~na"
    copy "%%a" "C:\FolderB\!name:~0,-6!%%~xa" 
)

答案 2 :(得分:-1)

COPY "C:PathOfFileToCopy\Filename" "C:PathOfCopyDestination\NewFilename"

RENAME "C:PathOfFileToCopy\Filename" NewFileName