Witam,
Napisałem skrypt który ma scalać procesy svchost w Windows 10 problem polega na tym ,że z nieznanego mi powodu wersja skryptu zawierająca wybór Tak \ Nie nie modyfikuje rejestru natomiast wersja która wykonuje tylko to polecenie funkcjonuje prawidłowo
wersja z wyborem :
@echo off
mode con:cols=90 lines=30
chcp 65001
color 0C
title Konfigurator systemu - krok 12/x - Łączenie procesów Svchost
cls
echo ╔════════════════════════════════════════════════════════════════════════════════════════╗
echo ║ ║
echo ║ Czy system ma dokonać połączenia SVCHOST? ║
echo ║ ║
echo ║ ║
echo ║ [1]-TAK [2]-NIE ║
echo ║ ║
echo ║ ║
echo ╚════════════════════════════════════════════════════════════════════════════════════════╝
choice /n /c:12 /M ""
IF %ERRORLEVEL%==1 (
cls
echo ╔════════════════════════════════════════════════════════════════════════════════════════╗
echo ║ ║
echo ║ Czy system ma dokonać połączenia SVCHOST? ║
echo ║ ║
echo ║ ║
echo ║ PRACUJĘ... ║
echo ║ ║
echo ║ ║
echo ╚════════════════════════════════════════════════════════════════════════════════════════╝
chcp 65001 >nul
for /f "tokens=4 delims= " %%i in ('systeminfo ^| findstr /C:"Total Physical Memory"') do (set mem=%%i
)
call :calc %mem%
:calc
set "mem_gb=%~1"
set /a "mem_kb=%mem_gb%*1024*1024"
reg add "HKLM\SYSTEM\ControlSet001\Control" /v "SvcHostSplitThresholdInKB" /t REG_DWORD /d "%mem_kb%" /f
goto x
)ELSE IF %ERRORLEVEL%==2 (
goto x
)
:x
title Konfigurator systemu - krok 13/x - Ekran Pożegnalny
cls
echo ╔════════════════════════════════════════════════════════════════════════════════════════╗
echo ║ ║
echo ║ Dziękuje za skorzystanie z Konfiguratora ║
echo ║ ║
echo ║ ║
echo ║ ║
echo ║ Naciśnij Enter ║
echo ║ ║
echo ╚════════════════════════════════════════════════════════════════════════════════════════╝
pause > nul
Wersja nie zadająca pytania (działa prawidłowo) :
@echo off
chcp 65001 >nul
for /f "tokens=4 delims= " %%i in ('systeminfo ^| findstr /C:"Total Physical Memory"') do (set mem=%%i)
call :calc %mem%
reg add "HKLM\SYSTEM\ControlSet001\Control" /v "SvcHostSplitThresholdInKB" /t REG_DWORD /d "%mem_kb%" /f
exit
:calc
set "mem_gb=%~1"
set /a "mem_kb=%mem_gb%*1024*1024"
W czym może być problem ?
Pozdrawiam
UglyManPerlMonk