Batch file 将日期为YYYYMMDD格式的文件从一个文件夹移动到另一个文件夹的批处理过程

Batch file 将日期为YYYYMMDD格式的文件从一个文件夹移动到另一个文件夹的批处理过程,batch-file,Batch File,我可以通过以下命令移动文件而不考虑日期:movethrough Batch process move C:\DESTINATION\FILE.txt C:\DESTINATION\ 但由于我的文件包含日期格式,我需要根据当前日期移动文件 您可以使用wmic获取当前日期: for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate %x set MyDate=%MyDate:~0

我可以通过以下命令移动文件而不考虑日期:
move
through Batch process

move C:\DESTINATION\FILE.txt C:\DESTINATION\

但由于我的文件包含日期格式,我需要根据当前日期移动文件

您可以使用
wmic
获取当前日期:

for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate %x
set MyDate=%MyDate:~0,8%
然后移动它们:

move %MyDate%.txt destination
移动“文件名%date:~10,4%%日期:~4,2%%日期:~7,2%.txt”“C:\Destination\Folder\”


编辑:此格式适用于英语(美国)日期格式。这很快,而且很粗糙=D

你想先读取文件,然后移动到相应的文件夹吗?有趣的是,有多少人使用根目录中的文件夹而不是他们的家,尽管自从Vista以来这很痛苦。@Joey:我不确定你的意思。根文件夹,甚至是系统驱动器根文件夹,都不是系统文件夹。管理员可以在
C:\
中创建子文件夹,而无需任何权限提升请求。不确定用户的情况,但我假设大多数人(至少家庭用户)在默认帐户下运行他们的系统,这些帐户是管理员帐户。@ECHO OFF cd C:\SOURCE set ttrn=none for/F“tokens=2-4 delims=/”%%I in('date/t')确实设置了ttrn=%%k%%I%%j mput SAM*.txt move%ttrn%..txt C:\DESTINATION\这是区域设置敏感的,但是,因此需要根据用户的区域设置进行调整。