Это улучшенный скрипт @ Alexandru's для Windows.
РЕДАКТИРОВАТЬ: Windows 8 не будет правильно запускать сценарии с пробелами в своих именах, она продолжает просить, чтобы программа открывалась при каждом выполнении. Пробелы и кавычки были удалены из имен файлов, а версия увеличена до 1.01.
Сохранить как KeepAwake101.wsf
:
<?xml version="1.0" encoding="utf-8"?>
<package>
<job id="keepAwake">
<?job error="false" debug="false"?>
<script>
//<![CDATA[
/*
* Copyright 2012 XP1
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*jslint browser: true, vars: true, white: true, maxerr: 50, indent: 4 */
(function (script, shell, fileSystem)
{
"use strict";
var currentDirectory = fileSystem.getFolder(shell.currentDirectory);
currentDirectory.createTextFile("empty.txt", true, false).close();
script.quit();
}(this.WScript, new this.ActiveXObject("WScript.Shell"), new this.ActiveXObject("Scripting.FileSystemObject")));
//]]>
</script>
</job>
</package>
Этот скрипт создает пустой файл в корне текущего каталога.
Затем сохраните этот XML-файл как KeepAwake101.xml
:
<?xml version="1.0" encoding="utf-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2012-01-01T00:00:01</Date>
<Author>Administrator</Author>
</RegistrationInfo>
<Triggers>
<BootTrigger>
<Repetition>
<Interval>PT20M</Interval>
<StopAtDurationEnd>false</StopAtDurationEnd>
</Repetition>
<ExecutionTimeLimit>PT30S</ExecutionTimeLimit>
<Enabled>true</Enabled>
</BootTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<GroupId>Users</GroupId>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<IdleSettings>
<Duration>PT10M</Duration>
<WaitTimeout>PT1H</WaitTimeout>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<MultipleInstancesPolicy>StopExisting</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT30S</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>\KeepAwake101.wsf</Command>
<WorkingDirectory>L:\</WorkingDirectory>
</Exec>
</Actions>
</Task>
Когда вы сохраняете файл XML, убедитесь, что вы сохранили кодировку файла как UTF-16 (с пометкой "Юникод" в блокноте).
В <Command>"\KeepAwake101.wsf"</Command>
убедитесь, что вы изменили эту строку, добавив местоположение сценария.
В <WorkingDirectory>L:\</WorkingDirectory>
вы можете изменить эту строку на местоположение вашего диска.
Пуск> Все программы> Стандартные> Щелкните правой кнопкой мыши "Командная строка"> Запуск от имени администратора.
Перейдите в каталог, где находится файл XML.
Импортируйте XML как задачу:
schtasks /create /tn "Keep Awake 1.01" /xml "KeepAwake101.xml"
Если вы хотите удалить задачу, введите:
schtasks /delete /tn "Keep Awake 1.01" /f
Эта задача настроена на запуск каждые 20 минут. Внешний жесткий диск My Western Digital Elements 2 ТБ (WDBAAU0020HBK) спит каждые 30 минут.
После импорта задачи вы можете настроить интервал и расписание с помощью планировщика задач. Чтобы открыть планировщик задач, в командной строке или в диалоговом окне Пуск> Выполнить введите:
taskschd.msc
Предупреждение:
Приводы Western Digital Green могут иметь агрессивную функцию IntelliPark, которая паркует голову после 8 секунд бездействия. Это приведет к значительному увеличению количества циклов загрузки / выгрузки (LCC). Вы можете проверить LCC с помощью программного обеспечения, такого как Defraggler или Hard Disk Sentinel в Windows, которое может считывать данные SMART.
Продолжение бодрствования диска каждые 20 минут может в конечном итоге увеличить LCC сверх лимита. Вместо того, чтобы запускать этот сценарий, вы можете рассмотреть возможность периодического использования диска и его отключения.
Вы можете прочитать больше здесь:
http://www.sagaforce.com/~sound/wdantiparkd/
Хотя вы можете изменить интервал сценария до 7 секунд, чтобы предотвратить парковку головы, он звучит не очень хорошо.
Было бы неплохо использовать wdidle3.exe
чтобы отключить функцию IntelliPark или настроить время ожидания.
Если вы не хотите этого делать, было бы неплохо купить другой жесткий диск и использовать жесткий диск Western Digital Green в качестве резервного диска, который необходимо включать только изредка. Все любят резервные копии.