更改文件上的日期时间文本

时间:2014-04-07 13:45:51

标签: batch-file

我在jpg文件上有这种格式,但我需要这样的时间和日期,我无法得到它。

目前的格式

1UYK08HJ_20140403165858071_SYPTE1-PC.jpg 
1YK0BHJX_20140403165902791_SYPTE1-PC.jpg
1YK08HJX_20140403165959270_SYPTE1-PC.jpg
IDYKDBH_20140403170236634_SYPTE1-PC.jpg

所需格式为

1UYK08HJ_SYPTE1-PC_2014_04_03_16_58_58_071.jpg 
1YK0BHJX_SYPTE1-PC_2014_04_03_16_59_02_791.jpg
1YK08HJX_SYPTE1-PC_2014_04_03_16_59_59_270.jpg
IDYKDBH_SYPTE1-PC_2014_04_03_17_02_36_634.jpg

我的查询是:

@echo off
pushd "C:\Users\IT-Administrator\Desktop\export" || exit /b
for /f "tokens=1-4 delims=_." %%A in ('dir /b /a-d *_*.jpg') do (
  Echo ren %%A_%%B_%%C.%%D %%A_%%C_%%B.%%D
)
popd

1 个答案:

答案 0 :(得分:2)

分离方法:20140403165858071 in 2014_04_03_16_58_58_071

    @echo off&cls
    setlocal EnableDelayedExpansion
    for /f "tokens=1-4 delims=_." %%a in ('dir /b/a-d *.JPG') do (
    set $Char=%%b
    set $CharF=!$Char:~0,4!_!$Char:~4,2!_!$Char:~6,2!_!$Char:~8,2!_!$Char:~10,2!_!$Char:~12,2!_!$Char:~14!
    echo !$CharF!
    pause)

然后,您可以使用REN或您希望的方式自行调整%%a_!$CharF!_%%c_%%d