Показать полную графическую версию : Как узнать время, прошедшее после пуска Windows?
Если не командой (скриптом), то где искать? Например, Total Commander показывает такое значение, но ограниченное 1000 часами. Может, учитывается даже чистое время работы, вне спящего режима.
Masutin, http://mydiv.net/arts/view-kak-uznat-vremia-proshedshee-s-posledney-perezagruzki-Windows.html
и вообще
Как узнать время, прошедшее после пуска Windows (https://www.google.ru/search?ie=UTF-8&hl=ru&q=%D0%9A%D0%B0%D0%BA%20%D1%83%D0%B7%D0%BD%D0%B0%D1%82%D1%8C%20%D0%B2%D1%80%D0%B5%D0%BC%D1%8F%2C%20%D 0%BF%D1%80%D0%BE%D1%88%D0%B5%D0%B4%D1%88%D0%B5%D0%B5%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%20%D0%BF%D1%83 %D1%81%D0%BA%D0%B0%20Windows&gws_rd=ssl)
А в Windows Commander, позже ставший Total Commander, я при переводе этого термина схулиганил, поставив необязательное слово"уже:" тогда, в годы Win-3.1 и Win-95 (перевод стал официальным с 1997 года; последние несколько лет официальный перевод поддерживает группа Власова, мой же является теперь запасным), термины ещё не были так стандартизованы, как сейчас, а падала система гораздо чащё. И слово "уже" несло двойной смысл, второй с оттенком удивления: "Так долго??" :)
Foreigner
09-08-2015, 02:02
Powershell:
$(get-date) - $(get-ciminstance win32_operatingsystem).lastbootuptime | ft days,hours,minutes,seconds -auto
Код пакетного файла для вывода времени работы системы в секундах:
@echo off
for /f "tokens=2 delims=," %%i in ('typeperf "\Система\Время работы системы" -sc 1^| findstr :') do echo %%~i
pause>nul
.
Пакетный файл сохраните в кодировке "OEM-866".
Georgio, признавайтесь — до «typeperf» долго копали?
greg zakharov
09-08-2015, 13:31
Iska, это во-первых (http://forum.script-coding.com/viewtopic.php?id=9967). Ну а во-вторых:
$ptr = [Runtime.InteropServices.Marshal]::AllocHGlobal(48)
if ([Regex].Assembly.GetType(
'Microsoft.Win32.NativeMethods'
).GetMethod(
'NtQuerySystemInformation'
).Invoke(
$null, @(3, $ptr, 48, 0)
) -eq 0) {
[DateTime]::FromFileTime(
[Runtime.InteropServices.Marshal]::ReadInt64($ptr)
)
}
[Runtime.InteropServices.Marshal]::FreeHGlobal($ptr)
Iska, это во-первых. »
greg zakharov, а Вы?
Уважаемые! Слегка иная задача: вывод количества месяцев или дней а) со дня пуска, б) работы системы.
По PowerShell: Якобы get-ciminstance доступна начиная с v3, не для XP. Возможно ли нечто для PowerShell не выше v2?
По третьему скрипту (WSH?): При его запуске на XP в файле *.WSH - ошибка о том, что файл скрипта не указан, no script file specified. Виноват, не знаком с запуском таких скриптов.
а) со дня пуска, б) работы системы. »
Объясните разницу.
По третьему скрипту (WSH?): »
Тут нет WSH.
Виноват, дополняю.
а) Количество месяцев или дней, прошедших со дня пуска системы.
б) Чистое время работы. Задача выполняется скриптом №2 для CMD, но в секундах.
Запуск скрипта №3 файлами с разрешениями VBS и JS вызывал ошибки. Как ещё запускать, к сожалению, не знаю.
дополняю.
а) Количество месяцев или дней, прошедших со дня пуска системы. »
«День пуска системы» — это Вы так называете дату/время инсталляции ОС, что ли?
Запуск скрипта №3 файлами с разрешениями VBS и JS вызывал ошибки. »
1. Скрипты здесь не нумеруются. Указывайте номер или ссылку на сообщение (а вот внутри сообщения, если приведено несколько кодов, можете нумеровать — «первый», «второй код» и т.д.).
2. Я уже писал выше, что в этой теме нет скриптов WSH — ни VBScript, ни JScript. Есть только скрипты PowerShell и пакетные файлы.
Foreigner
03-12-2015, 08:29
Должно работать в PowerShell-2
$lastboot = get-wmiobject win32_operatingsystem |
foreach { ([wmi]'').converttodatetime($_.lastbootuptime) }
new-timespan $lastboot | format-table days,hours,minutes,seconds -autosize
Должно работать в PowerShell-2 »
Работает.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.