在批处理文件中为时间戳添加条件

时间:2019-02-06 05:37:50

标签: batch-file

我想为批处理文件的重命名添加条件。

例如:

  • 如果我的文件是schmrd.zip,并且时间在1:00到1.05之间,则应将其重命名为schmrd20190205_0100
  • 类似于1.06至1.25 schmrd20190205_0120
  • 从1.26到1.45 schmrd20190205_0140

我希望它在所有24小时内,每小时将有72个文件3个文件

代码:

::BATCH FILE
@echo off
cd C:\Users\rwaykole\Desktop\Batch
copy "SRMTSDICAPGEM.zip" Backup
move "SRMTSDICAPGEM.zip" Inbox
cd Inbox
set today=%date:~4%
for %%a in ("SRMTSDICAPGEM.zip") do ren "%%~a" "%%~na_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%.zip" 

::END BATCH

我无法添加这些条件。谁能帮忙吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

以下for循环将仅采用并修改分钟值,但是不确定如何使用时间 hh:46-> hh:59 ,算了,有您的完整脚本:

@echo off
set mytime=%time: =0%
for /f "tokens=1,* delims=:" %%a in ("%mytime:~0,5%") do (
    set "hourval=%%a"
    if %%b geq 00 If %%b lss 06 set "minval=00"
    if %%b geq 06 If %%b lss 26 set "minval=20"
    if %%b geq 26 If %%b lss 46 set "minval=40"
)

cd /d C:\Users\rwaykole\Desktop\Batch
copy "SRMTSDICAPGEM.zip" Backup
move "SRMTSDICAPGEM.zip" Inbox
cd Inbox
set today=%date:~4%
for %%a in ("SRMTSDICAPGEM.zip") do ren "%%~a" "%%~na_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hourval%%minval%.zip"