Windows 使用bat文件根据文件名中的日期查找和移动文件

Windows 使用bat文件根据文件名中的日期查找和移动文件,windows,batch-file,Windows,Batch File,我的批处理文件有问题。我想在文件名中找到一个与今天日期匹配的文件,即my_file_20150320.pdf,然后将其移动到另一个目录,即/tmp。谢谢。您可以试试这个: @echo off FOR /F "TOKENS=2,3,4 DELIMS=/ " %%A IN ('DATE /T') DO ( SET yyyy=%%C SET mm=%%A SET dd=%%B ) SET Today=%yyyy%%mm%%dd% MOVE "*%Today%.pdf" %1

我的批处理文件有问题。我想在文件名中找到一个与今天日期匹配的文件,即my_file_20150320.pdf,然后将其移动到另一个目录,即/tmp。谢谢。

您可以试试这个:

@echo off
FOR /F "TOKENS=2,3,4 DELIMS=/ " %%A IN ('DATE /T') DO (
    SET yyyy=%%C
    SET mm=%%A
    SET dd=%%B
)
SET Today=%yyyy%%mm%%dd%
MOVE "*%Today%.pdf" %1
假设批处理文件名为“moveTo.bat”,并且与源文件位于同一文件夹中,则可以这样调用它:

moveTo "Destination folder name"
日期的解析取决于系统的日期格式。上述代码适用于美国系统,其中命令:

DATE /T

返回:2015年3月21日星期六

请详细说明您的问题我有文件名格式名称person_yyymmdd.pdf,即something_20150321.pdf,something_20150322.pdf,something_20150323.pdf,如果文件与今天的日期匹配,则将其移动到不同的目录。感谢您的帮助,它可以工作,但我希望批处理文件程序已经设置了文件夹的源和目标,因为我想将bat文件程序放在任务计划程序中。这样bat文件程序每天都会检查文件夹。我想你可以用目标文件夹替换%1。是否有其他方法来修改程序,而不是在文件夹内搜索并移动到另一个文件夹?我想搜索像驱动器D这样的目录,里面有一个文件夹。bat文件将在驱动器内搜索,并将创建一个新文件夹。如果bat文件找到一个新文件夹,并且如果条件与今天的日期匹配,则将文件移到文件夹中。我尝试运行bat文件,但它不起作用。因为我的文件目录源在Dropbox中,目标文件夹在我的本地D中。如果我尝试运行bat文件,则不会发生任何事情。帮帮我,我该怎么办@康纳斯范