Plik wsadowy - kopiowanie dwóch najnowszych plików z jednego folderu do drugiego

0

Jestem bardzo nowy w pisaniu plików wsadowych i nie mogę pobrać dwóch najnowszych plików z jednego folderu do skopiowania do innego folderu. Mam nowe foldery tworzone automatycznie codziennie i chcę, aby były automatycznie przenoszone w przeciwne miejsce, zamiast konieczności ręcznego przenoszenia ich codziennie.
Udało mi się uzyskać najnowszy folder do przeniesienia, ale za każdym razem, gdy próbowałem czegoś, aby uzyskać drugi, nie miałem szczęścia. Wszelkie porady będą mile widziane

Brzęczenie
źródło
Możesz utworzyć symboliczne łącze, aby połączyć te katalogi, aby były automatycznie zapisywane w preferowanym folderze.
Biswapriyo
A może możesz je automatycznie utworzyć we właściwej lokalizacji, korzystając z funkcji, która je tworzy?
HackSlash

Odpowiedzi:

0
  • Sortuj pliki wstecz przy pomocy Dir /B /O-D /A-D
  • Numeruj pliki za pomocą findstr /n
  • Jeśli liczba jest mniejsza lub równa Xnewest- ruch

@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\"

Jeśli wynik wygląda OK, usuń echo w ostatnim wierszu.

Przykładowe dane wyjściowe:

> 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
źródło