Я очень новичок в написании командных файлов, и я не могу получить два новейших файла из одной папки для копирования в другую папку. У меня новые папки создаются автоматически каждый день, и я хочу, чтобы они автоматически перемещались в противоположное место, а не перемещались вручную каждый день.
Я был в состоянии заставить самую новую папку перемещаться, но всякий раз, когда я пытался что-либо получить второе, мне не везло. Любой совет будет принят во внимание
1 ответ
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\"