sov44
- Longevity: 8 years 1 month
- Posts: 32
- REPUTATION:4[+] [-]
- Location: г. Киров
|
dimo70, строчкуfor /d %%c in ("!off:~0,-1!.txt") do set v_off=%%~nc можно удалить, если не требуется отображение в консоли версии Office. Оставлял, как задел на случай типаif /i "%v_off%"=="Office14" set "ver_off=Microsoft office 2010" if /i "%v_off%"=="Office16" set "ver_off=Microsoft office 2016" echo %ver_off% 81298Камрады, используйте переменные среды Согласен, делал на скорую руку.
|
dimo70
- Longevity: 7 years 1 month
- Posts: 3794
- REPUTATION:27[+] [-]
- Location: BG
|
Изменил в связи с рекомендации выше. Результат:@echo off setlocal enabledelayedexpansion mode con cols=71 lines=19 color 2E Title Windows and Office licence status: echo Windows Activation Status: for %%a in (%windir%\system32\slmgr.vbs) do set p_vbs=%%a echo. cscript "%p_vbs%" /dli| findstr /il /c:"Name:" /c:"Description:" /c:"Partial Product Key" /c:"License Status:" /c:"Volume activation expiration" /c:"Activation Interval" echo ...................................................................... echo. echo MS Office Activation Status: echo. for %%a in ("%ProgramFiles%","%ProgramFiles(x86)%") do ( for /f "delims=" %%b in ('where /r %%a "OSPP.VBS" 2^>nul') do set p_vbs=%%b& set off=%%~dpb for /d %%c in ("!off:~0,-1!.txt") do set v_off=%%~nc ) echo Found %v_off% on this machine. echo. if defined p_vbs ( cscript "%p_vbs%" /dstatus| findstr /il /c:"License Status" /c:"Remaining Grace" ) echo. pause ActStatus
_________________ Signed off for violation of forum rules
|
Ander_73
- Longevity: 7 years 11 months
- Posts: 3928
- REPUTATION:127[+] [-]
|
dimo70, Вот это глупость:cscript "%p_vbs%" /dli| findstr /il /c:"Name:" /c:"Description:" /c:"Partial Product Key" /c:"License Status:" /c:"Volume activation expiration" /c:"Activation Interval" Во-первых, будет работать только с английской Виндовс (решаемо). Во-вторых, Виндовс, активированная не через Volume, будет давать иные сведения (но тут я не знаток, просто мысль).
|
dimo70
- Longevity: 7 years 1 month
- Posts: 3794
- REPUTATION:27[+] [-]
- Location: BG
|
А если так?cscript "%p_vbs%" /dli| findstr /il /c:"Partial Product Key" /c:"License Status:" /c:"Volume activation expiration" /c:"Activation Interval"
_________________ Signed off for violation of forum rules
|
sov44
- Longevity: 8 years 1 month
- Posts: 32
- REPUTATION:4[+] [-]
- Location: г. Киров
|
dimo70, у вас одинаковое имя переменной как для пути к slmgr.vbs, так и для пути к OSPP.VBS. Должны быть разные имена, иначе можем получить ошибку на этапе определения статуса активации офиса при отсутствии офиса в системе.
|
Ander_73
- Longevity: 7 years 11 months
- Posts: 3928
- REPUTATION:127[+] [-]
|
dimo70, зачем ты вообще парсишь вывод активации Винды? Оставь как есть. Он будет на языке системы (понятном пользователю).81304Должны быть разные имена ... или очистка переменной перед повторным использованием.
|
Отправлено: 08-Nov-2020 17:24
(after 1 hour 37 minutes)
dimo70
- Longevity: 7 years 1 month
- Posts: 3794
- REPUTATION:27[+] [-]
- Location: BG
|
Ander_73, а как задать очистку переменной? Гуглил вроде, но ничего не нашел.
_________________ Signed off for violation of forum rules
|
Ander_73
- Longevity: 7 years 11 months
- Posts: 3928
- REPUTATION:127[+] [-]
|
dimo70, очистка переменной - это задание ей пустого значения.
|
dimo70
- Longevity: 7 years 1 month
- Posts: 3794
- REPUTATION:27[+] [-]
- Location: BG
|
Если так:кодecho Windows Activation Status: for %%a in (%windir%\system32\slmgr.vbs) do set h_vbs=%%a echo. cscript "%h_vbs%" /dli| findstr /il /c:"Partial Product Key" /c:"License Status:" /c:"Volume activation expiration" /c:"Activation Interval" echo. echo ...................................................................... echo. echo MS Office Activation Status: echo. set "%%a=" for %%a in ("%ProgramFiles%","%ProgramFiles(x86)%") do ( for /f "delims=" %%b in ('where /r %%a "OSPP.VBS" 2^>nul') do set h_vbs=%%b& set off=%%~dpb for /d %%c in ("!off:~0,-1!.txt") do set v_off=%%~nc ) echo Found %v_off% on this machine. echo. if defined h_vbs ( cscript "%h_vbs%" /dstatus| findstr /il /c:"License Status" /c:"Remaining Grace" ) можно считать, что очищено?
_________________ Signed off for violation of forum rules
|
Отправлено: 08-Nov-2020 20:55
(after 2 hours 57 minutes)
sov44
- Longevity: 8 years 1 month
- Posts: 32
- REPUTATION:4[+] [-]
- Location: г. Киров
|
81308 можно считать, что очищено? Нет. Вы должны обнулять переменную пути к vbs. Вместо set "%%a=" нужно писать set "h_vbs=" Но я-бы для каждого пути ввёл свою переменную, как это сделал sergeysvirid на предыдущей страничке, плюс добавил-бы общепонятное название офиса.Title Windows and Office licence status: echo Windows Activation Status: echo. for %%a in (%windir%\system32\slmgr.vbs) do set s_vbs=%%a echo. cscript "%s_vbs%" /dli echo ................................................................... echo. echo MS Office Activation Status: echo. for %%a in ("%ProgramFiles%","%ProgramFiles(x86)%") do ( for /f "delims=" %%b in ('where /r %%a "OSPP.VBS" 2^>nul') do set p_vbs=%%b& set off=%%~dpb for /d %%c in ("!off:~0,-1!.txt") do set v_off=%%~nc ) if /i "%v_off%"=="Office12" set "ver_off=Microsoft office 2007" if /i "%v_off%"=="Office14" set "ver_off=Microsoft office 2010" if /i "%v_off%"=="Office16" set "ver_off=Microsoft office 2016" echo. if defined p_vbs ( echo %ver_off%. echo. cscript "%p_vbs%" /dstatus| findstr /il /c:"License Status" /c:"Remaining Grace" ) if not defined p_vbs ( echo Microsoft office not found on this machine. echo. ) echo. pause exit
|
Ander_73
- Longevity: 7 years 11 months
- Posts: 3928
- REPUTATION:127[+] [-]
|
sov44, зачем вообще нужна эта переменная?cscript %windir%\system32\slmgr.vbs /dli
|
dimo70
- Longevity: 7 years 1 month
- Posts: 3794
- REPUTATION:27[+] [-]
- Location: BG
|
sov44, сделал и перезалил. Не могу понять почему у nik63 не получается сдесь.
_________________ Signed off for violation of forum rules
|
sov44
- Longevity: 8 years 1 month
- Posts: 32
- REPUTATION:4[+] [-]
- Location: г. Киров
|
81318sov44, зачем вообще нужна эта переменная? cscript %windir%\system32\slmgr.vbs /dli Не нужна. Банальный капипаст. Доверим исправить этот нюанс dimo70.
|
Отправлено: 08-Nov-2020 22:53
(after 1 hour 9 minutes)
Page 32 of 94
Current time is: 14-Jan 23:33
All times are UTC + 3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|