Назад | Перейти на главную страницу

Robocopy - как сбросить временные метки

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

В основном это было бы похоже на копирование и "прикосновение" к файлу.

Однако, как бы просто это ни выглядело, кажется, что у вас нет возможности сделать это. Я понял, что при использовании D (данные) флаг включен / КОПИРОВАТЬ, то Т Флаг (отметка времени) добавляется автоматически, поэтому отметка времени источника сохраняется.

Что-то я упустил в настройках? Или есть другая альтернатива?

Спасибо за любую помощь.

Жюльен.

Вам придется обновить файл (ы) после завершения robocopy.

Вам нужно будет использовать что-то вроде:

If you want to assign the current time and date to a file without modifying the file, use the following syntax:

copy /b filename.txt +,,

The commas indicate the omission of the Destination parameter.

Вы должны запустить это в целевой папке, то есть вы должны находиться в этой папке в командной строке, чтобы она работала правильно.

Вы можете написать командный файл, который запускал бы эту команду для определенных файлов в этой целевой папке.

Но я действительно до сих пор не получаю вашего последнего комментария «Мне просто нужно скопировать новые файлы». - это то, что делает robocopy, и при копировании будет получать новую метку времени новых / обновленных исходных файлов. Таким образом, любые новые файлы JAR в источнике должны иметь новые отметки времени как в источнике, так и в месте назначения.

Я не думаю, что Robocopy подойдет для этого. Основная часть работы Robocopy - это сравнение временных меток и размеров файлов в исходной и целевой папках, чтобы определить, какие файлы необходимо скопировать. Таким образом, вы не можете использовать Robocopy для обновления меток времени в месте назначения, чтобы они были «новее», чем метки времени в источнике.

Я видел такое поведение при отправке файлов с разрешениями UNIX в NTFS (или наоборот), но это не столько предполагаемое поведение, сколько неспособность Robocopy переводить списки ACL.

Я не совсем понимаю, что вы пытаетесь сделать, но, вероятно, есть несколько обходных путей, чтобы получить что-то, что работает для вас. Примеры:

  • Попросите сценарий robocopy скопировать файлы в каталог, названный по дате.
  • Сохраняйте время / дату в файл журнала всякий раз, когда сценарий запускается успешно.