Answer the question
In order to leave comments, you need to log in
Automatic launch of commercials on the PC in the store, how to implement?
Requires automatic launch of ads on laptops in the store. about 60 pcs. I slightly corrected the bat file made by my predecessor, and added comments (I'm not sure if they are correct).
The bottom line is this:
the bat file checks for old ads on the desktop, creates its own power scheme so that the computer does not turn off and does not go to sleep if there is an ad and it is outdated, deletes it and copies the new one.
Through the launch of the screensiver, it checks for the presence of a file on the desktop every 10-60 seconds. If the file is missing (for example, if the seller sold the computer and removed the ads), it rolls back the power scheme to the standard one and deletes all its files, if there are ads, it starts. everything worked on 7, but on ten it refuses to run the ad file through the screen saver key in the registry, most likely something was changed in 10 for greater security (you need to run a bat file through this key). Doesn't work on Windows 8 either.
@echo ON
rem включаем отображение информации в консоли
time
rem устанавливаем текущее время
SCHTASKS -f /Delete /tn "PC OFF"
rem удаляем старое задание на выключение
set /p ROHS
rem вводим переменную ROHS
powercfg -L | find /i /c "ROHS" > "%TMP%\ROHS.txt"
rem выводим список всек профилей питания
rem проверяем есть ли профиль ROHS? выводим результат в файл ROHS.txt в папке темп
set /p ROHS= < "%TMP%\ROHS.txt"
rem получаем информацию из файла
if %ROHS% == 0 (goto New) else (goto Next)
rem если профиль питания ROHS есть, переходим к следующему К :NEXT, если нет, то к :NEW.
:New
for /f "usebackq tokens=4" %%a in (`powercfg -GETACTIVESCHEME`) do (powercfg -DUPLICATESCHEME %%a > "%TMP%\ROHS.txt")
rem получаем инф. о текущей активной сехеме питания,дублируем ее, копируем схему в файл ROHS
for /f "usebackq tokens=4" %%b in ("%TMP%\ROHS.txt") do (powercfg -CHANGENAME %%b ROHS "ROHS" && echo %%b > "%TMP%\ROHS.txt")
rem изменяем имя и описание схемы управления питания на ROHS, выводим новую схему в файл
set /p ROHS= < "%TMP%\ROHS.txt"
powercfg -S %ROHS%
rem активируем схему питания ROHS
powercfg -SetAcValueIndex %ROHS% 7516b95f-f776-4464-8c53-06167f40cc99 17aaa29b-8b43-4b94-aafe-35f64daaf1ee 0
rem включает параметр адаптивной регулировки яркости(в виндовс 10 он не виден по умолчаниЮ, поэтому скорее всего не будет работать)
powercfg -SetAcValueIndex %ROHS% 7516b95f-f776-4464-8c53-06167f40cc99 aded5e82-b909-4619-9949-f5d71dac0bcb 100
rem выставляем яркость дислпея на 100
powercfg -SetAcValueIndex %ROHS% 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 100
rem отключаем действие крышки
powercfg -SetAcValueIndex %ROHS% 4f971e89-eebd-4455-a8de-9e59040e7347 7648efa3-dd9c-4e3e-b566-50f929386280 000
rem отключаем действие крышки
powercfg -CHANGE -monitor-timeout-ac 0
rem устанавливаем отключение монитора никогда
powercfg -CHANGE -standby-timeout-ac 0
rem устанавливаем переход в режим ожидания никогда
powercfg -CHANGE -hibernate-timeout-ac 0
rem устанавливаем значение параметра гибернация после - никогда
:Next
powercfg -L | find /i "ROHS" > "%TMP%\ROHS.txt"
rem выводим список всех схем электропитания в файл
for /f "usebackq tokens=4" %%c in ("%TMP%\ROHS.txt") do (powercfg -S %%c)
rem активируем схему питания ROHS
del "%USERPROFILE%\desktop\*scr*.exe"
rem удаляем с рабочего стола старый скрин
copy "%CD%\*scr*.exe" "%USERPROFILE%\desktop" > nul
rem копируем файл из каталога в котором находиться батникник на рабочий стола
reg query "HKCU\CONTROL PANEL\DESKTOP" /v scrNSAVE.EXE | find /i /c "start.bat" > "%TMP%\ROHS.txt"
rem запрашиваем параметры из ветки реестра десктоп, находим параметр start.bat, выводи из него в ROHS.txt (SCRNSAVE.EXE - расположение файла заставки)
set /p ROHS= < "%TMP%\ROHS.txt"
rem проверяем файл ROHS.txt
if %ROHS% == 0 (goto Createscr) else (goto Skip)
rem если значение в ROHS.txt =0 то переходим к :creatscr если нет, к :SKIP
:CreateScr
echo shutdown /H > %TMP%\shutdown.bat
rem создает файл shutdown.bat
reg add "HKCU\CONTROL PANEL\DESKTOP" /v ScreenSaveActive /d 1 /f > nul
rem присваиваем ScreenSaveActive значение 1 (ScreenSaveActive - включение (1) и отключение (0) скринсивера)
echo "%TMP%\start.bat" > "%TMP%\ROHS.txt"
rem записываем инфомарцию о расположение файла start.bat в ROHS.txt
set /p ROHS= < "%TMP%\ROHS.txt"
rem получаем инфор из ROHS.txt
reg add "HKCU\CONTROL PANEL\DESKTOP" /v SCRNSAVE.EXE /d %ROHS% /f > nul
rem записываем информацию в о расположении файла start.bat в ключ реестра SCRNSAVE.EXE
reg add "HKCU\CONTROL PANEL\DESKTOP" /v ScreenSaveTimeOut /d 60 /f > nul
rem устанавливаем занчение ScreenSaveTimeOut 60 сек.
echo cmd /c start ^"^" "%TMP%\!scr_autostarter.bat"^&^&exit > "%TMP%\start.bat"
rem запускаем cmd в свернутом режиме, выводим информациюю о расположении scr_autostarter.bat в start.bat
echo dir /b "%%USERPROFILE%%\desktop\*.exe" ^| find /i "scr" ^> "%%TMP%%\ROHS.txt" > "%TMP%\!scr_autostarter.bat"
rem проверяем рабочий стол на наличие exe файлов, находим файл с "scr" в имени, выводим информацию в ROHS.txt и в scr_autostarter
echo set /p ROHS= ^< "%%TMP%%\ROHS.txt" >> "%TMP%\!scr_autostarter.bat"
rem добавляем эту строку в scr_autostarter.bat далее записываем инф. в scr_autostarter
echo if NOT "%%USERPROFILE%%\desktop\%%ROHS%%" == "%%USERPROFILE%%\desktop\" ( >> "%TMP%\!scr_autostarter.bat"
echo start /wait "" "%%USERPROFILE%%\desktop\%%ROHS%%") else ( >> "%TMP%\!scr_autostarter.bat"
echo goto Delete) >> "%TMP%\!scr_autostarter.bat"
echo exit >> "%TMP%\!scr_autostarter.bat"
echo :Delete >> "%TMP%\!scr_autostarter.bat"
echo del "%%TMP%%\start.bat" >> "%TMP%\!scr_autostarter.bat"
echo reg delete "HKCU\CONTROL PANEL\DESKTOP" /v SCRNSAVE.EXE /f ^> nul >> "%TMP%\!scr_autostarter.bat"
echo reg delete "HKCU\CONTROL PANEL\DESKTOP" /v ScreenSaveTimeOut /f ^> nul >> "%TMP%\!scr_autostarter.bat"
echo powercfg -S 381b4222-f694-41f0-9685-ff5bb260df2e >> "%TMP%\!scr_autostarter.bat"
echo powercfg -L ^| find /i "ROHS" ^> "%%TMP%%\ROHS.txt" >> "%TMP%\!scr_autostarter.bat"
echo for /f "usebackq tokens=4" %%%%a in ("%%TMP%%\ROHS.txt") do (powercfg -D %%%%a) >> "%TMP%\!scr_autostarter.bat"
echo del "%TMP%\shutdown.bat" >> "%TMP%\!scr_autostarter.bat"
rem удаляем shutdown.bat
echo SCHTASKS -f /Delete /tn "PC OFF" >> "%TMP%\!scr_autostarter.bat"
rem удаляем задачу отключение ПК из планировщика задач
echo del "%%TMP%%\ROHS.txt" >> "%TMP%\!scr_autostarter.bat"
echo del "%%TMP%%\!scr_autostarter.bat"^&^&exit >> "%TMP%\!scr_autostarter.bat"
del "%%TMP%%\ROHS.txt"
rem shutdown -r -t 10
SCHTASKS /create /tn "PC OFF" /tr %temp%\shutdown.bat /SC DAILY /ST 22:00
rem создаем задачу которая будет запкускать shutdown.bat который вводит ПК в гибернацию
goto :EOF
:Skip
echo cmd /c start /min ^"^" "%%TMP%%\!scr_autostarter.bat"^&^&exit > "%TMP%\start.bat"
echo dir /b "%%USERPROFILE%%\desktop\*.exe" ^| find /i "scr" ^> "%%TMP%%\ROHS.txt" > "%TMP%\!scr_autostarter.bat"
echo set /p ROHS= ^< "%%TMP%%\ROHS.txt" >> "%TMP%\!scr_autostarter.bat"
echo if NOT "%%USERPROFILE%%\desktop\%%ROHS%%" == "%%USERPROFILE%%\desktop\" ( >> "%TMP%\!scr_autostarter.bat"
echo start /wait "" "%%USERPROFILE%%\desktop\%%ROHS%%") else ( >> "%TMP%\!scr_autostarter.bat"
echo goto Delete) >> "%TMP%\!scr_autostarter.bat"
echo exit >> "%TMP%\!scr_autostarter.bat"
echo :Delete >> "%TMP%\!scr_autostarter.bat"
echo del "%%TMP%%\start.bat" >> "%TMP%\!scr_autostarter.bat"
echo reg delete "HKCU\CONTROL PANEL\DESKTOP" /v SCRNSAVE.EXE /f ^> nul >> "%TMP%\!scr_autostarter.bat"
echo reg delete "HKCU\CONTROL PANEL\DESKTOP" /v ScreenSaveTimeOut /f ^> nul >> "%TMP%\!scr_autostarter.bat"
echo powercfg -S 381b4222-f694-41f0-9685-ff5bb260df2e >> "%TMP%\!scr_autostarter.bat"
echo powercfg -L ^| find /i "ROHS" ^> "%%TMP%%\ROHS.txt" >> "%TMP%\!scr_autostarter.bat"
echo for /f "usebackq tokens=4" %%%%a in ("%%TMP%%\ROHS.txt") do (powercfg -D %%%%a) >> "%TMP%\!scr_autostarter.bat"
echo del "%TMP%\shutdown.bat" >> "%TMP%\!scr_autostarter.bat"
rem удаляем shutdown.bat
echo SCHTASKS -f /Delete /tn "PC OFF" >> "%TMP%\!scr_autostarter.bat"
rem удаляем задачу отключение ПК из планировщика задач
echo del "%%TMP%%\ROHS.txt" >> "%TMP%\!scr_autostarter.bat"
echo del "%%TMP%%\!scr_autostarter.bat" >> "%TMP%\!scr_autostarter.bat"
echo exit >> "%TMP%\!scr_autostarter.bat"
del "%TMP%\ROHS.txt"
goto :EOF
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question