Как скопировать только второй последний созданный файл из папки в другую папку, используя файл bat - PullRequest
0 голосов
/ 14 октября 2018

Предположим, в папке A у меня есть два файла, созданные в один и тот же день, как показано ниже File1.txt, созданный 14-10-2018 в 10:00 утра File2.txt, созданный 14-10-2018 в 10:10 AM,

Теперь я хотел бы скопировать только файл File2.txt, используя пакетный файл, в папку B. Ищем команду файла .bat, которая выполняет описанный выше процесс.

Ответы очень приветствуются.

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Используйте DIR для вывода списка файлов, отсортированных по дате создания в порядке убывания.Обработайте результат с помощью FOR /F, пропустив первую строку.Скопируйте первый итеративный файл, а затем вырвитесь из цикла с помощью GOTO или EXIT /B.

@echo off
pushd "c:\sourcePath"
for /f "skip=1 delims= eol=:" %%F in ('dir /b /o-d /tc') do (
  copy "%%F" "c:\destinationPath"
  popd
  exit /b
)

Если вы хотите отсортировать данные по дате последнего изменения вместо даты создания, используйте /TWвместо /TC.

Обратите внимание, что "EOL=: используется для того, чтобы значение EOL по умолчанию ; не пропускало имена файлов, начинающиеся с ;.Имена файлов не могут содержать :, но они могут содержать ;, хотя это крайне маловероятно.

0 голосов
/ 14 октября 2018

Вы можете использовать команду «Копировать» для копирования File2.txt в папку B, вот она:

copy "Path\File2.txt" "Path\FolderB"

С этим вы скопируете «File2.txt» в «Папку B»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...