批处理文件 - 将两个最新文件从一个文件夹复制到另一个文件夹

批处理文件 - 将两个最新文件从一个文件夹复制到另一个文件夹

我对编写批处理文件还很陌生,无法将一个文件夹中的两个最新文件复制到另一个文件夹中。我每天都会自动创建新文件夹,我想让它们自动移动到相反的位置,而不是每天手动移动它们。
我能够让最新的文件夹移动过去,但每当我尝试移动第二个文件夹时,我都无法成功。任何建议都将不胜感激

答案1

  • 使用以下方式向后对文件进行排序Dir /B /O-D /A-D
  • 使用以下代码对文件进行编号findstr /n
  • 如果数字小于或等于Xnewest- 移动

@Echo off
Set "Xnewest=2"
For /F "tokens=1* delims=:" %%A in (
  'Dir /B /A-D /O-D ^| Findstr /N "^"'
) Do If %%A Leq %Xnewest% echo Move "%%B" "X:\Path\to\dest\"

如果输出看起来正常,请删除最后一行的回声。

示例输出:

> dir /A-D/O-D
 Directory of A:\
07/21/2017  23:19               315 SU_1232190.cmd
07/21/2017  14:58               778 SO_45225802.cmd
07/19/2017  10:51               158 PassMinMax.cmd
07/19/2017  00:50                37 WhoStartedMe.cmd
07/18/2017  01:32             1.222 SO_45137227.cmd
               5 File(s)          2.510 bytes
               0 Dir(s)   1.049.776.128 bytes free
> SU_1232190.cmd
Move "SU_1232190.cmd" "X:\Past\to\dest\"
Move "SO_45225802.cmd" "X:\Past\to\dest\"

相关内容