在多个动态文件夹中重命名移动命令

时间:2018-02-01 04:01:59

标签: batch-file

我想制作一个.bat文件,该文件可以重命名并移动一个文件或文件,这个文件将每分钟运行一次。它移动的文件将在网站中使用。

有一些障碍使我成为一个问题。

文件夹结构如下: D:/Folder1/Folder2/Folder3/Project_Name_Folder4/System_NR_Folder5/Device_Folder6/Date_Folder7/Channel Folder8A8B以及8C/Time_Folder(每小时一个),最后是创建时间后命名的文件.jpg

我想我已经解决了所有问题,直到我到达时间文件夹,因为这里将在1天内有24个文件夹。但我会每分钟运行重命名/移动,因此旧文件夹将为空。

那么是否有一个命令可以从Channel Folder下的任何文件夹中获取最新文件,或者是否有一个命令可以抓取任何文件夹,然后重命名/移动文件。

那么如何让它获取有24个文件夹,并且我想要的文件在24小时内从文件夹00然后01然后02移动到这些文件夹中{ {1}}。 我将bat文件放在文件夹4中,这样它就可以用于文件夹结构的其余部分。

23

Folder Structure

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

使用dir进行搜索和排序并不困难。下面的示例从执行批处理文件的根目录中搜索*.txt并对其进行排序并回显最新创建的.txt文件,例如:

@echo off
for /f "delims=" %%a in ('dir /S /B /A-D-H /T:C /O:D *.txt') do set "latest=%%a"
echo Latest File: %latest%

有关dir命令中使用的开关的更多信息,请参阅dir /?

中运行cmd.exe时的文档

另外,作为旁注,作为脚本的一部分,您可以使用

timeout /t 60 >nul
goto restart

并在脚本开头添加标签:restart,这将静默等待60秒并再次启动该过程,以便您可以连续运行该脚本。