Виконайте команду в пакетному файлі на системному годиннику


0

У мене є два різних підключення для мого підключення до Інтернету. Перші використовують з 7 ранку до 10 вечора. Другий використовує з 10 вечора до 7 ранку наступного дня. І для кожного з підключень я зробив пакетний файл для підключення до Інтернету. За допомогою команди "rasdial connectionA ......" у кожному файлі окремо. Тепер я хочу зробити ще один пакетний файл, який виконується. На основі системного годинника виконайте один із цих файлів автоматично. Наприклад, якщо це було 9 ранку, визнаючи, що зараз час між 7 ранку та 22 години вечора, то запустіть файл "A". дізнайтеся, будь ласка, що це для команди? Моя англійська слабка, тому мені дуже шкода.


Не впевнений, чи партія справді хороша для цього. Як ви ставитеся до PowerShell?
Ізі

Відповіді:


0

Це має працювати для вас, з PowerShell:

$CurrentHour = (Get-Date).Hour
if ($CurrentHour -ge 7 -and $CurrentHour -le 22)
{
    <# Insert commands for 7 AM to 10 PM connection here. #>
}
else
{
    <# Insert commands for 10 PM to 7 AM connection here. #>
}

Приємне в PowerShell - це те, що він все ще зберігає доступ до команд, якими ви зазвичай користуєтеся CMD / batch. Отже, ви повинні мати можливість просто поставити свої rasdialкоманди замість рядків коментарів вище.

Якщо ви хочете запустити тест, щоб переконатися, що оператори спрацьовують належним чином, ви можете встановити час, використовуваний за Get-Dateдопомогою -Hourпараметра. Наприклад, змініть перший рядок $CurrentHour = (Get-Date -Hour 10).Hourна тестування часу протягом 10:00 години.

На жаль, PowerShell не отримує багато власних команд для мереж, поки ви не оновите ОС до Windows 8 або Windows 8.1. Можливо, є кілька способів зробити це, звернувшись до основних об'єктів .NET Framework, але вам, мабуть, краще просто дотримуватися rasdial.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.