У меня есть этот командный файл для запуска каждый день, который копирует несколько копий файла в определенное место, а затем перемещает исходный файл в архив. Полное исходное имя файла меняется каждый день с непоследовательными числами в середине, поэтому маска используется с подстановочным знаком (*). Исходный файл затем архивируется в месте архива.
copy "\\source-location\source_file*.txt "\\new-location\source_file1.txt" >> c:\logs\log.txt 2>&1
copy "\\source-location\source_file*.txt "\\new-location\source_file2.txt" >> c:\logs\log.txt 2>&1
copy "\\source-location\source_file*.txt "\\new-location\source_file3.txt" >> c:\logs\log.txt 2>&1
move "c:\source location\source_file*.txt "\\new-location\archive\" >> c:\logs\log.txt 2>&1
Проблема, с которой я столкнулся, заключается в том, что у меня нет контроля над расположением источника. Файлы предыдущего дня должны быть удалены из исходного местоположения администраторами этого местоположения, но иногда это не делается. Поскольку я использую подстановочный знак (*), это означает, что иногда два файла объединяются вместе при выполнении команд копирования, в результате чего добавляются дублированные данные с предыдущего дня.
Мне нужен сценарий, чтобы сначала проверить, есть ли какие-либо файлы в исходном местоположении уже существуют в каталоге new-location \ archive. В таком случае игнорируйте их и копируйте только все оставшиеся файлы.
Любая помощь очень ценится