mcintosh55 |
14-06-2016 20:55 2642812 |
как вытащить число
Добрый день!!! Помогите вытащить число
Код:
vssadmin list shadowstorage /On=%systemdrive%
вывод команды
Код:
Для тома: (C:)\\?\Volume{32e8b0b0-0000-0000-0000-a03000000000}\
Том хранилища теневой копии: (C:)\\?\Volume{32e8b0b0-0000-0000-0000-a03000000000}\
Использованный объем хранилища теневой копии: 218 МБ (0%)
Выделенный объем хранилища теневой копии: 544 МБ (0%)
Максимальный объем хранилища теневой копии: 8,31 ГБ (10%)
Меня интересует число 10 (без %) в строке Максимальный объем хранилища теневой копии
|
Вывод команды несколько больше, нежели Вы привели.
Например, так:
Скрытый текст
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=2 delims=(%%" %%i in (
`vssadmin.exe List ShadowStorage /On^=%SystemDrive% ^| find.exe /i "Максимальный объем хранилища теневой копии:"`
) do set /a iResult = %%i
if defined iResult echo %iResult%
endlocal
exit /b 0
|
mcintosh55 |
18-06-2016 06:57 2643682 |
все ок, только скрипт надо запускать с правами администратора
|
mcintosh55 |
18-06-2016 07:44 2643684 |
Iska не подскажите, что надо поменять в коде, чтоб получить 8,31 число
|
Попробуйте так:
Скрытый текст
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=6 delims= " %%i in (
`vssadmin.exe List ShadowStorage /On^=%SystemDrive% ^| find.exe /i "Максимальный объем хранилища теневой копии:"`
) do set sResult=%%i
if defined sResult echo %sResult%
endlocal
exit /b 0
|
mcintosh55 |
18-06-2016 11:12 2643724 |
еще не подскажите, в условии если число не равно 12 то расширить хранилище до 12GB пишет не правильное значение
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=6 delims= " %%i in (
`vssadmin.exe List ShadowStorage /On^=%SystemDrive% ^| find.exe /i "Максимальный объем хранилища теневой копии:"`
) do set sResult=%%i
if defined sResult echo %sResult%
pause
if %sResult% neq 12 (
vssadmin Resize ShadowStorage /For=C: /On=C: /MaxSize=12GB
)
pause
endlocal
exit /b 0
|
Цитата:
Цитата mcintosh55
пишет не правильное значение »
|
Где пишет? Покажите скриншот хотя бы.
|
mcintosh55 |
18-06-2016 14:37 2643771 |
пишет в консоле и окно резко исчезает, пишет "не предвиденное значение"
|
Цитата:
Цитата mcintosh55
пишет в консоле и окно резко исчезает »
|
Откройте окно командного процессора и уже в нём исполняйте пакетный файл. А ещё лучше — загрузите, установите и используйте Far Manager.
|
mcintosh55 |
18-06-2016 16:14 2643790 |
Цитата:
Цитата Iska
Откройте окно командного процессора и уже в нём исполняйте пакетный файл »
|
точно, тупанул
вот что пишет: "не предвиденное появление: 98"
|
mcintosh55, закомментируйте первую строку:
исполните пакетный файл, покажите скриншот или полный текст вывода.
|
mcintosh55 |
19-06-2016 04:34 2643874 |
Код:
C:\Windows\system32>rem @echo off
C:\Windows\system32>for /F "usebackq tokens=6 delims= " %i in (`vssadmin.exe List ShadowStorage /On=C: | find.exe /i "Максимальный объем хранилища теневой копии:"`) do set sResult=%i
C:\Windows\system32>set sResult=9,15
C:\Windows\system32>if defined sResult echo 9,15
9,15
Непредвиденное появление: 15.
C:\Windows\system32>if 9,15 neq 12 (vssadmin Resize ShadowStorage /For=C: /On=C: /MaxSize=12GB)
|
mcintosh55, при работе с интерпретатором команд Вам придётся довольствоваться целочисленной арифметикой. То есть:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=2 delims=(,.%%" %%i in (
`vssadmin.exe List ShadowStorage /On^=%SystemDrive% ^| find.exe /i "Максимальный объем хранилища теневой копии:"`
) do set /a iResult = %%i
if defined iResult echo %iResult%
endlocal
exit /b 0
и:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=6 delims=,. " %%i in (
`vssadmin.exe List ShadowStorage /On^=%SystemDrive% ^| find.exe /i "Максимальный объем хранилища теневой копии:"`
) do set /a iResult = %%i
if defined iResult echo %iResult%
endlocal
exit /b 0
и:
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq tokens=6 delims=,. " %%i in (
`vssadmin.exe List ShadowStorage /On^=%SystemDrive% ^| find.exe /i "Максимальный объем хранилища теневой копии:"`
) do set /a iResult = %%i
if defined iResult if %iResult% neq 12 vssadmin.exe Resize ShadowStorage /For=%SystemDrive% /On=%SystemDrive% /MaxSize=12GB
endlocal
exit /b 0
|
mcintosh55 |
19-06-2016 04:58 2643877 |
а почему тогда не меняются настройки vss? условие вроде без ошибок срабатывает
Все работает, спасибо!!!
|
Время: 20:41.
© OSzone.net 2001-