Пакетный файл - копирование двух новейших файлов из одной папки в другую

0

Я очень новичок в написании командных файлов, и я не могу получить два новейших файла из одной папки для копирования в другую папку. У меня есть новые папки, которые создаются автоматически каждый день, и я хочу, чтобы они автоматически перемещались в противоположное место, а не перемещались вручную каждый день.
Я был в состоянии заставить самую новую папку переместиться, но всякий раз, когда я пытался что-либо получить второе, мне не везло. Любой совет будет принят во внимание

Buzz
источник
Вы можете создать символическую ссылку для подключения этих каталогов, чтобы они автоматически сохранялись в выбранной вами папке.
Biswapriyo
Или вы можете автоматически создать их в правильном месте, используя любую функцию, которая их создает?
HackSlash

Ответы:

0
  • Сортировка файлов назад с 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\"
LotPings
источник