четверг, 7 мая 2026 г.

Перезагружать бегущую строку без участия оператора (5)

Дополнение к написанному здесь.

"...У нас дата в названии в формате 07.05.2026 (четыре цифры года), а скрипт настроен на 07.05.26 (две цифры года)..."

Для даты с четырьмя цифрами в годе нужно строку 

set "currentDate=%date:~0,2%.%date:~3,2%.%date:~8,2%"

заменить на 

set "currentDate=%date:~0,2%.%date:~3,2%.%date:~6,4%"

"...У нас в путях к папкам с файлами есть русские буквы..."

После первой строки скрипта @echo off добавить строку chcp 65001 >nul  (устанавливаем кодировку UTF-8 для поддержки кириллицы).

"...У нас вместо простой бегущей строки используется скрипт TSF_AdvMix. У него нет параметра Автозагрузка..."

Да, в этом скрипте такого свойства нет. Но скрипт TSF_AdvMix  устроен так, что объявления из обновлённого файла показываться всё равно будут. Но только после того, как будет проиграно последнее объявление из старых. Т.е. скрипт доиграет все старые объявления, а потом начнёт показывать новые.                    

==========

Итоговый текст скрипта:

@echo off

chcp 65001 >nul

set "sourceDir=F:\МИР\TextAds"
set "destFile=F:\МИР\Task\task.txt"

set "currentDate=%date:~0,2%.%date:~3,2%.%date:~6,4%"
set "fileName=%currentDate%.txt"

if exist "%sourceDir%\%fileName%" (

    copy "%sourceDir%\%fileName%" "%destFile%" /y

)

Важно! Файл changecrawl.bat нужно сохранить в кодировке UTF-8.