2

У меня есть каталог Windows, который содержит 4 файла в общей сложности. Имена файлов следующие:

  • Address_1502.csv
  • Address_1602.csv
  • Site_1502.csv
  • Site_1602.csv

Префикс имени файла никогда не меняется, поэтому файлы всегда будут начинаться с Address_ или site_ . Я пытаюсь найти команду, которая может скопировать самый последний из двух файлов из их текущего каталога в другой каталог. В настоящее время у меня есть следующий скрипт, однако он находит только самый новый из всех 4 файлов и копирует его, однако я хотел бы найти самый новый из двух файлов Address_ И самый новый из двух файлов Site_.

Кто-нибудь может помочь вообще?

set "source=D:\TEMP_ONLY\SOURCE"
set "dest=D:\TEMP_ONLY\DESTINATION"
pushd "%source%" ||(
   echo.Source does not exist&pause&goto EOF)

for /f "tokens=*" %%f in (
   'dir /A-D /OD /B') Do set "file=%%f"
popd
xcopy /d /i "%source%\%file%" "%dest%\"

1 ответ1

0

Я хотел бы найти самый новый из двух файлов Address_ И самый новый из двух файлов Site_.

Используйте следующий пакетный файл:

@echo off
Setlocal EnableDelayedExpansion
set "source=D:\TEMP_ONLY\SOURCE"
set "dest=D:\TEMP_ONLY\DESTINATION"
pushd "%source%" || ( echo.Source does not exist & pause & goto done2)
for /f "delims=" %%a in ('dir Address_*.csv /a-d /b /O:d') do (
  xcopy /d /i "%source%\%%a" "%dest%\"
  goto :done1
  )
:done1   
for /f "delims=" %%a in ('dir Site_*.csv /a-d /b /O:d') do (
  xcopy /d /i "%source%\%%a" "%dest%\"
  goto :done2
  )
:done2
popd

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .