Как отобразить на экране случайную картинку из определенного каталога?

Как я могу запустить случайные картинки с интервалом в 30 секунд, закрывая предыдущую картинку по истечении времени, если у меня есть список папок и подпапок с неизвестными картинками? 

@echo off

setlocal enabledelayedexpansion

TIMEOUT [/T] timeout [/NOBREAK]
timeout.exe /t 10

set n=0
for %%f in (*.jpg, *.jpeg, *.gif, *.png) do set /a n+=1
echo Total files %n%

set /a i = %RANDOM% %% n
echo Going to open %i%

set q=0
for %%f in (*.jpg, *.jpeg, *.gif, *.png) do (
  if %i%==!q! set file=%%f
  set /a q+=1
)

echo Filename: %file%
start "" "%file%"
  • 3 ноября 2023 г. 19:08
Ответы на вопрос 1
Данный скрипт отображает случайную картинку из определенного каталога. Он также может запускать случайные картинки с интервалом в 30 секунд.

@echo off
setlocal enabledelayedexpansion

set "directory=путь_к_каталогу"

:loop
set "files="
for /r "%directory%" %%f in (*.jpg, *.jpeg, *.gif, *.png) do (
    set "files=!files! "%%f""
)

set /a "n = %random% %% !files:~1!"
echo Going to open %n%

for /f "tokens=%n%" %%f in ("%files%") do (
    echo Filename: %%f
    start "" "%%f"
)

timeout /t 30 /nobreak
taskkill /f /im "имя_приложения_просмотра_изображений"
goto loop

Пожалуйста, замените "путь_к_каталогу" на путь к каталогу, содержащему ваши изображения, а "имя_приложения_просмотра_изображений" на имя приложения, которое вы используете для просмотра изображений (например, "explorer.exe" или "photos.exe").
Похожие вопросы