批处理文件 - 我看到3种不同的解决方案,但是如何

时间:2017-03-05 10:27:19

标签: batch-processing

我尝试重命名并将文件每120秒移动到一个新文件夹,但在源文件夹结构中,其中一个文件夹每天都在更改,foldername基于日期。

实施例: 移动D:\ OneDrive \ Serienummer \ 01 \ 2017-03-05 \ PIC \ NVR_ch01 * .jpg D:\ WEBCAMS \ Testkamera \ 0101.jpg

这很好用,但我需要更改:\ 2017-03-05 \ tomorrow。 手动执行此操作不是一种选择!

那么有没有办法让代码动态地使用今天的日期?

有没有办法获取D:\ OneDrive \ Serienummer \下的所有文件,并将它们移动到指定的新文件夹位置,即使日期文件夹每天都会更改?

2 个答案:

答案 0 :(得分:0)

您可以获得当前的年,月,日,并且每天都有新的路径:

set year=%date:~6,4%
set month=%date:~3,2%
set day=%date:~0,2%
set path = D:\OneDrive\Serienummer\01\%year%-%month%-%day%\PIC\NVR_ch01*.jpg 

答案 1 :(得分:0)

@echo off
:start
set year=%date:~6,4%
set month=%date:~3,2%
set day=%date:~0,2%
set currentpath = D:\OneDrive\Serienummer\01\%year%-%month%-%day%\PIC\NVR_ch01*.jpg 
set targetpath = D:\WEBCAMS\Testkamera\0101.jpg
move %currentpath% %targetpath%
timeout /t 120
goto start

^这会找到日期和时间并每隔120秒移动一次文件,直到你关闭cmd