重命名具有多个名称的文件

时间:2016-11-23 16:56:52

标签: batch-file

我有下面的代码重命名一个特定的文件,在这种情况下16919.csv将日期添加到最后并将其放在与原始文件同名的文件夹中。 但是,我为多个文件名设置了相同的批处理文件。 id是什么样的命令来获取文件的名称并使用它来运行下面的命令。所以我可以有一个文件来重命名不同名称的多个文件。这怎么可能?

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^|find "."') do set "dt=%%a"
set "YY=%dt:~2,2%"
set "YYYY=%dt:~0,4%"
set "MM=%dt:~4,2%"
set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%"
set "Min=%dt:~10,2%"
set "Sec=%dt:~12,2%"

set datestamp=%DD%%MM%%YYYY%
set timestamp=%HH%%Min%%Sec%
set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%

ren "16919.csv" "/16919/16919 - %datestamp%.csv"

1 个答案:

答案 0 :(得分:0)

以下脚本仅限于重命名一个扩展名的文件(在本例中为.CSV):

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^|find "."') do set "dt=%%a"
set "YY=%dt:~2,2%"
set "YYYY=%dt:~0,4%"
set "MM=%dt:~4,2%"
set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%"
set "Min=%dt:~10,2%"
set "Sec=%dt:~12,2%"

set datestamp=%DD%%MM%%YYYY%
set timestamp=%HH%%Min%%Sec%
set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%

for /f "delims=" %%i in ('dir /b /a-d *.csv') do ren "%%~i" "%%~ni %datestamp%%%~xi"

只需在包含要附加日期的文件的文件夹中运行该脚本。

参考this question