• -746
Тема была выделена из Батники - вопросы и решения
sergeysvirid

[Quote]

    rezorustavi
  • 2337
  • Longevity: 5 years 3 months
  • Posts: 291
  • REPUTATION:8

    [+] [-]
  • Location: Грузия, город Рустави
Дорогие друзья! Подскажите пожалуйста, если это возможно, как добавить в начало батника бегущую строку, как-то так:
http://alljavascript.narod.ru/2.htm
https://disk.yandex.ru/d/C20ZATwVTaz4BA
Возможно для идеи будет полезен такой вариант:
ECHO off
Title -=PROGRESS=-
:begin
cls
echo.[ ] 0%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==^> ] 10%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[=====^> ] 20%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[========^> ] 30%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[===========^> ] 40%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==============^> ] 50%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[=================^> ] 60%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[====================^> ] 70%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[=======================^> ] 80%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==========================^> ] 90%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==============================] 100%%
set program=0
for /F "usebackq tokens=1" %%i in (`tasklist /nh /fi "Imagename eq wmic.exe"`) do set program=%%i
if /i %program% NEQ 0 goto :begin
exit

[Quote]

    Ander_73
  • 15549
  • Longevity: 4 years 2 months
  • Posts: 2209
  • REPUTATION:127

    [+] [-]
rezorustavi, вот такое "баловство" есть:
@echo off
call :progress_prep "In progress:  "
for /l %%i in (1,1,2000) do call :progress_draw
call :progress_done "done"
exit
:progress_prep
for /f %%a in ('echo prompt $H^| cmd') do set "del=%%a"
set "spinchar=│/─\"
<nul set /p "=%~1"
exit /b
:progress_draw
set /a "sym=(sym+1)%%4"
<nul call set /p "=%del%%%spinchar:~%sym%,1%%"
exit /b
:progress_done
<nul set /p "=%del%"
echo %~1
exit /b

[Quote]

    rezorustavi
  • 2337
  • Longevity: 5 years 3 months
  • Posts: 291
  • REPUTATION:8

    [+] [-]
  • Location: Грузия, город Рустави
Ander_73,
Благодарю. ay Хотелось бы прикрутить бегущую строку по горизонтали aa
Пока добавил так:
ECHO off
Title -=PROGRESS=-
:begin
cls
echo.[ ] 0%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==usbtor.ru^> ] 10%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[=====usbtor.ru^> ] 20%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[========usbtor.ru^> ] 30%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[===========usbtor.ru^> ] 40%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==============usbtor.ru^> ] 50%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[=================usbtor.ru^> ] 60%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[====================usbtor.ru^> ] 70%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[=======================usbtor.ru^> ] 80%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==========================usbtor.ru^> ] 90%%
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==============================usbtor.ru] 100%%
set program=0
for /F "usebackq tokens=1" %%i in (`tasklist /nh /fi "Imagename eq wmic.exe"`) do set program=%%i
if /i %program% NEQ 0 goto :begin
exit


Last edited by rezorustavi on 2021-03-06 22:19; edited 1 time in total

[Quote]

    rezorustavi
  • 2337
  • Longevity: 5 years 3 months
  • Posts: 291
  • REPUTATION:8

    [+] [-]
  • Location: Грузия, город Рустави
Update:
Убрал проценты:
ECHO off
Title -=PROGRESS=-
:begin
cls
echo.
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==usbtor.ru^>
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[=====usbtor.ru^>
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[========usbtor.ru^>
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[===========usbtor.ru^>
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==============usbtor.ru^>
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[=================usbtor.ru^>
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[====================usbtor.ru^>
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[=======================usbtor.ru^>
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==========================usbtor.ru^>
ping -n 2 -w 1000 127.0.0.1 > nul
cls
echo.[==============================usbtor.ru]
set program=0
for /F "usebackq tokens=1" %%i in (`tasklist /nh /fi "Imagename eq wmic.exe"`) do set program=%%i
if /i %program% NEQ 0 goto :begin
exit
Но как прикрутить в начало, чтобы работала бегущая строка и запускалось остальное содержимое батника?


Last edited by rezorustavi on 2021-03-06 22:31; edited 1 time in total

[Quote]

    Ander_73
  • 15549
  • Longevity: 4 years 2 months
  • Posts: 2209
  • REPUTATION:127

    [+] [-]
rezorustavi, ну, так-то просто:
@echo off
<nul set /p "=["
for /l %%i in (1,1,20) do (
>nul timeout /t 1
<nul set /p "=*"
)
echo ]

[Quote]

    rezorustavi
  • 2337
  • Longevity: 5 years 3 months
  • Posts: 291
  • REPUTATION:8

    [+] [-]
  • Location: Грузия, город Рустави
Ander_73,
Вы - гений по скриптам! Дай Бог Вам здоровья! aa Огромное Вам спасибо за труды! Обязательно поюзаю. az
Надеюсь получится прикрутить в начало, чтобы работала бегущая строка и запускалось остальное содержимое батника
https://disk.yandex.ru/d/DH6V9LRN26wrOg
Добавлено через 9 секунд:
Update:
Добавил для пробы так:
@echo off
color 1e
<nul set /p "=["
for /l %%i in (1,1,20) do (
>nul timeout /t 1
<nul set /p "=*"
)
echo ]
echo.
title Computer information / Сведения о компьютере
echo.
echo %DATE%
echo.
echo ----------------------------------------------
echo IP-Address, MAC-Address / IP-Адрес, MAC-Адрес
echo ----------------------------------------------
for /f "tokens=2 delims=:" %%a in ('ipconfig.exe^| find "IPv4"') do set ip=%%a& goto next
:next
echo %ip%
for /f "tokens=2 delims=:" %%a in (
'ipconfig /all^| findstr /l /c:"Description" /c:"Physical" /c:"IPv4"'
) do ^
if not defined NetCard (set NetCard=%%a) else ^
if not defined MAC (set MAC=%%a) else ^
echo %NetCard%
echo %MAC%
echo.
echo -------------------------------------
echo General information / Общие сведения
echo -------------------------------------
Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | findstr ReleaseId >nul 2>&1
systeminfo.exe | FINDSTR /L /I /C:"OS Name" /C:"OS Version" /C:"System Manufacturer" /C:"System Model" /C:"System Type" /C:"Total Physical Memory" /C:"Network Card" /C:"Название ОС" /C:"Версия ОС" /C:"Зарегистрированный владелец" /C:"Модель системы" /C:"Тип системы" /C:"Полный объем физической памяти" /C:"Сетевые адаптеры"
For /F "tokens=2 Delims==" %%J In ('wmic computersystem get numberofprocessors /Value^|FindStr .') Do echo Число процессоров: %%J
For /F "tokens=2 Delims==" %%J In ('WMIC CPU Get Name /Value^|FindStr .') Do echo Название процессора: %%J
systeminfo.exe | FINDSTR /L /I /C:"BIOS Version" /C:"Time Zone" /C:"Версия BIOS" /C:"Часовой пояс"
)
echo.
echo.
echo --------------------------------
echo Motherboard / Материнская плата
echo --------------------------------
For /F "tokens=2 Delims==" %%J In ('WMIC baseboard get manufacturer /Value^|FindStr .') Do echo Название: %%J
For /F "tokens=2 Delims==" %%J In ('WMIC baseboard get product /Value^|FindStr .') Do echo Модель: %%J
echo.
echo.
echo ------------------------------
echo CPU Processor / CPU Процессор
echo ------------------------------
FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get currentclockspeed /Format:List ^| FIND "="') DO set "s=%%~B"
echo Частота: %s% Мгц
FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get maxclockspeed /Format:List ^| FIND "="') DO set "s=%%~B"
echo Максимальная частота: %s% Мгц
set cachelevel=2
set cachelevelrus=второго
call :cache
set cachelevel=3
set cachelevelrus=третьего
call :cache
goto 1
:cache
FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get l%cachelevel%cachesize /Format:List ^| FIND "="') DO set "su=%%~B"
call :mbgb
if %su% GTR 1024 set /a su=%su%/1000
echo Кэш %cachelevelrus% уровня: %su% %uu%
exit /b
:1
FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get numberofcores /Format:List ^| FIND "="') DO set "s=%%~B"
FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get numberoflogicalprocessors /Format:List ^| FIND "="') DO set "ss=%%~B"
echo Ядер: %s% Потоков: %ss%
echo.
echo.
echo ------------------------
echo Video card / Видеокарта
echo ------------------------
set /a numik=0
FOR /F "tokens=1* delims==" %%A IN ('WMIC Path Win32_VideoController get AdapterRAM /Format:List ^| FIND "="') DO set "s=%%~B" & call :vdo
goto 2
:vdo
set /a numik=%numik%+1
set /a sss=%s%/1024/1024
echo Видеопамять %numik%: %sss% Мб
exit /b
:2
set /a num=0
for /F "tokens=1* delims==" %%A IN ('WMIC Path Win32_VideoController get Name /Format:List ^| FIND "="') DO set "s=%%~B" & call :vdol
goto 3
:vdol
set /a num=%num%+1
echo Видеокарта %num%: %s%
exit /b
:3
for /F "tokens=2 delims==" %%A IN ('WMIC Path Win32_VideoController get currenthorizontalresolution /Format:List ^| FIND "="') DO call :hor "%%A"
:hor
if not "%~1"=="" set hh=%~1
for /F "tokens=2 delims==" %%A IN ('WMIC Path Win32_VideoController get currentverticalresolution /Format:List ^| FIND "="') DO call :ver "%%A"
:ver
if not "%~1"=="" set vv=%~1
echo Текущее разрешение: %hh% x %vv%
echo.
echo.
echo ----------------------------
echo Sound card / Звуковая карта
echo ----------------------------
set /a num=0
FOR /F "tokens=1* delims==" %%A IN ('WMIC sounddev get Name /Format:List ^| FIND "="') DO set "s=%%~B" & call :vdol
goto 3
:vdol
set /a num=%num%+1
echo Название устройства: %num%: %s%
exit /b
:3
echo.
echo.
echo --------------------------------
echo Memory RAM / Оперативная память
echo --------------------------------
set /a num=0
FOR /F "tokens=1* delims==" %%A IN ('WMIC memorychip get capacity /Format:List ^| FIND "="') DO set "s=%%~B" & call :vdols
goto 33
:vdols
set /a num=%num%+1
echo Слот памяти: %num%: %s% б
exit /b
:33
FOR /F "tokens=1* delims==" %%A IN ('WMIC os get totalvisiblememorysize /Format:List ^| FIND "="') DO set "su=%%~B" & call :vdod
goto 4
:vdod
call :mbgb
goto after
:mbgb
if %su% LSS 1 (set uu=б) else if %su% LSS 1024 (set uu=Кб) else if %su% GTR 1024 set uu=Мб
exit /b
:after
set /a sss=%su%/1024
echo Доступно: %sss% %uu%
exit /b
:4
for /F "tokens=2 Delims==" %%J In ('WMIC memphysical get memorydevices /Value^|FindStr .') Do echo Слотов для памяти: %%J
echo.
echo.
echo -----------------------------------------------------
echo Windows activation status / Статус активации Windows
echo -----------------------------------------------------
cscript /Nologo "C:\Windows\System32\slmgr.vbs" /dlv
echo ---------------------------------------------------
echo Office activation status / Статус активации Office
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%"=="Office15" set "ver_off=Microsoft office 2013"
if /i "%v_off%"=="Office16" set "ver_off=Microsoft office 2016-2019"
if defined p_vbs (
echo %ver_off%. >nul 2>&1
cscript "%p_vbs%" /dstatus
)
if not defined p_vbs (
echo Microsoft Office не найден на этом компьютере.
)
echo.
echo.
pause
Корябы, видимо кодировку надо прикрутить...

[Quote]

    sergeysvirid
  • 104
  • Longevity: 6 years 4 months
  • Posts: 2097
  • REPUTATION:127

    [+] [-]
  • Location: 65 регион (GMT+11)
83746Корябы, видимо кодировку надо прикрутить...
rezorustavi,
aa
Да, сохранить скрипт в кодировке 866 (OEM - русская) bs

[Quote]

    rezorustavi
  • 2337
  • Longevity: 5 years 3 months
  • Posts: 291
  • REPUTATION:8

    [+] [-]
  • Location: Грузия, город Рустави
83747вместо звездочек можно текст
Это естественно aa
83749сохранить скрипт в кодировке 866
Понял ay
Короче добавил пока в конец, текст не бежит, а повторяется один за другим
https://disk.yandex.ru/d/l-h_C4BcrNwwuw

[Quote]

    SergeyZV
  • 528
  • Longevity: 6 years
  • Posts: 752
  • REPUTATION:10

    [+] [-]
Не вариант
----------------------------------------------
IP-Address, MAC-Address / IP-Адрес, MAC-Адрес
----------------------------------------------
172.16.1.43
Режим вывода команд на экран (ECHO) отключен.
где MAC-Адрес, где наименование карты?

[Quote]

    Ander_73
  • 15549
  • Longevity: 4 years 2 months
  • Posts: 2209
  • REPUTATION:127

    [+] [-]
@echo off
>nul chcp 437
for /f "tokens=1*" %%a in (
'ipconfig /all^| findstr /li /c:"description" /c:"physical" /c:"ipv4"'
) do (
if "%%a"=="Description" echo/
echo %%a %%b
)

[Quote]

    SergeyZV
  • 528
  • Longevity: 6 years
  • Posts: 752
  • REPUTATION:10

    [+] [-]
83756Не вариант
----------------------------------------------
IP-Address, MAC-Address / IP-Адрес, MAC-Адрес
----------------------------------------------
172.16.1.43
Режим вывода команд на экран (ECHO) отключен.
где MAC-Адрес, где наименование карты?
По мне так лучше.

[Quote]

    Ander_73
  • 15549
  • Longevity: 4 years 2 months
  • Posts: 2209
  • REPUTATION:127

    [+] [-]
Вот самый шикардос, имхо! ag
@echo off
>nul chcp 437
for /f "tokens=1,2 delims=:" %%a in (
'ipconfig /all^| findstr /li /c:"description" /c:"physical" /c:"ipv4"'
) do ^
if not defined D (set D=%%b) else ^
if not defined M (set M=%%b) else ^
echo %%a| >nul find "IPv4"&& (
call echo Network adapter: %%D%%
call echo MAC address:     %%M%%
for /f "tokens=1 delims=()" %%c in ("%%b") do echo IPv4:            %%c
set D=& set M=& echo/
)|| (set M=& set D=%%b)
)

[Quote]

    rezorustavi
  • 2337
  • Longevity: 5 years 3 months
  • Posts: 291
  • REPUTATION:8

    [+] [-]
  • Location: Грузия, город Рустави
Ребята!
После полной загрузки инфы и нажатия: Для продолжения нажмите любую клавишу . . .
Появится типа бегущей строки, подскажите пожалуйста как скрыть то, что выделил красным на скриншоте, чтобы бегала вправо строка, в данном случае usbtor.ru
https://disk.yandex.ru/i/Kl6F_MP9Kc6-2Q
Не много подправленный скрипт:
https://disk.yandex.ru/d/3_DzS_hqv31QHg
Добавлено через 2 минуты 40 секунд:
Режим вывода команд на экран (ECHO) отключен.
где MAC-Адрес, где наименование карты?
Что удивительно в англоязычной Винде вместо Режим вывода команд на экран (ECHO) отключен. Отображает MAC
Заменил с Вашего варианта, с отображением в IP-Address, MAC-Address / IP-Адрес, MAC-Адрес всё ок az

[Quote]

    SergeyZV
  • 528
  • Longevity: 6 years
  • Posts: 752
  • REPUTATION:10

    [+] [-]
83761Не много подправленный скрипт:
Немного подправил твой скрипт.
Выкинул не нужное из активации Windows. Нужно добавит английские аналоги наименований строк.

Page 1 of 15


Display posts:    

Current time is: 17-Apr 00:21

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