Управление файлами 101 заключается в том, что Windows не допустит дублирования имен файлов в одном месте. Вы можете иметь дубликаты файлов, только если имя файла уникально, но его содержимое совпадает. Просто проверьте имя файла, но оно должно совпадать с именем файла, и делать вещи, если они не совпадают, иначе ничего не делать.
Также лично я бы предложил использовать PowerShell FileSystemWatcher вместо бесконечного цикла. Просто сказать ...
Эта строка ...
$timestamp = Get-Date -Format 'yyyyMMddhhmmss'
... всегда будет генерировать уникальное имя файла по своему дизайну, содержимое внутри него не имеет смысла, если вы не используете хеширование файлов для сравнения какчасть этого.
Либо удалите / измените эту строку на что-то другое, либо используйте хэш файла (они гарантируют уникальность независимо от используемого имени) ...
Get-FileHash -Path 'D:\Temp\input.txt'
Algorithm Hash Path
--------- ---- ----
SHA256 1C5B508DED35A28B9CCD815D47ECF500ECF8DDC2EDD028FE72AB5505C0EC748B D:\Temp\input.txt
... для сравненияи перед копией, если другой if / then.
что-то вроде ...
If ($job.Hash -ne $dst.Hash)
{Copy-Item $job.Path $dst.Path}
Else
{
#Do nothing
}
Конечно, есть и другие способы сделать это, это всего лишь одна идея.