У меня запущен скрипт Robocopy, который работал спорадически только в последние несколько недель.
Эта проблема
- В исходном каталоге я получаю файлы два раза в день. Этот сценарий работал безупречно в течение многих лет, но, начиная с декабря, два раза из трех он запускает файлы, которые игнорируются.
Сценарий
Цель: копировать файлы в схеме именования *Identifier1*
в UNC-путь, а затем обрабатывать их с помощью другого приложения, которое их перемещает.
set sourcefile=D:\some\local\path\here\
set destination=\\someip\some\path\
mkdir %destination%
robocopy %sourcefile% %destination% *Identifier1* /V /R:5 /W:10 >> %Logfile%
wait 60
anotherapplication.exe
Окружающая среда
- Полностью исправлена Windows Server 2012R2
- Устаревший пакетный скрипт, а не скрипт powershell
- Я запускаю скрипт через планировщик задач с повышенными правами
- Выполнение пользователя - это пользователь домена с локальными административными правами.
- Я должен использовать
*Identifier*
в сценарии. Я получаю два файла, один из которых называется$Timestamp_Identifier1.csv
а другой -$Timestamp_Identifier2.csv
. Мне нужно только скопировать один из них.
Что я пробовал
- проверил разрешения как для файлов, так и для каталогов - у пользователя, который запускает скрипт, определенно есть права на чтение. Копирование вручную прекрасно работает при удаленном взаимодействии с его учетными данными.
- Включил переключатель
/V
чтобы получить больше вывода. К сожалению, robocopy даже не упоминает файлы, которые игнорирует в журнале. - Включены переключатели
/R:5
и/W:10
чтобы убедиться, что это не проблема загрузки - Пытался сначала скопировать robocopy в локальный каталог, что приводит к тому же поведению "иногда работает". Это те же файлы, которые игнорируются, если я копирую и в локальный, и в UNC-путь в одном пакете.
Вещи, которые стоит отметить
- Помимо метки времени, файлы всегда имеют одинаковую схему именования
- Нет видимой разницы между копируемыми файлами и файлами, которые этого не делают. Это включает их имя и права доступа к файлу.
- Файлы создаются в исходной директории WinSCP после загрузки из webdav-сервиса. Лог ничего необычного не говорит.
anotherapplication.exe
который я запускаю в одном и том же скрипте, прекрасно берет файлы и действительно способен их перемещать.
Есть идеи или намеки? Как всегда, большое спасибо.