21

Когда я открываю IE в разные дни недели, я хочу, чтобы разные вкладки открывались автоматически.

Мне приходится составлять разные отчеты для работы каждый день недели, и для открытия отчетов требуется 5-10 вкладок. Было бы намного быстрее, если бы при открытии IE нужные мне вкладки автоматически загружались и были готовы для использования.

Есть ли способ открыть 5-10 разных вкладок в IE в зависимости от дня недели?

Пример:
Понедельник - 6 страниц учета
Вторник - 7 страниц для выставления счетов
Среда - 5 HR страниц
Четверг - 10 страниц расписания
Пятница - 8 резюме работы / страницы заказа

4 ответа4

34

Вы можете использовать PowerShell для автоматизации IE:

Этот пример сценария, который я собрал вместе, выяснит, какой сегодня день, и откроет IE с набором вкладок для этого дня:

# Arrays of sites to open; one for each day of the week.
$mondaySites = @("http://www.google.com", "http://www.yahoo.com", "http://www.bing.com")
$tuesdaySites = @("http://www.intel.com","http://www.apple.com","http://www.ubuntu.com/","http://www.android.com/", "http://www.microsoft.com")
$fridaySites = @("http://www.superuser.com", "http://www.cnn.com","http://www.bbc.com/news/world/","http://www.reddit.com/r/funny/")

$sitesToOpen = @()

# Get the day of the week
$today = (get-date).DayOfWeek

# Depending on the day of the week discovered, assign the right day's array into the sitesToOpen array.
switch ($today) { 
        "Monday" {$sitesToOpen = $mondaySites} 
        "Tuesday" {$sitesToOpen = $tuesdaySites} 
        "Friday" {$sitesToOpen = $fridaySites}
    }

# Use COM to create a new IE instance.    
$ie = new-object -com "InternetExplorer.Application"

$isFirstSite = $true

# Loop through the array of sites, and navigate our IE instance to them.
foreach ($site in $sitesToOpen) {
        If ($isFirstSite) {
            $ie.Navigate2($site)
            $isFirstSite = $false
        } else {
            # If it's not the first site, then include the flag to open the site in a new tab.
            $ie.Navigate2($site, 0x10000)
        }
    }

# Show the IE window.    
$ie.Visible = $true

Примечание. Массивы сайтов выполнялись только в течение трех дней, и вы захотите добавить другие для других дней, над которыми вам нужно поработать. :)

33

Вместо того, чтобы попробовать метод грубой силы, как насчет обхода?

Откройте каждый набор вкладок либо в разных окнах, либо по одному набору за раз и сохраните все вкладки в папках закладок. Поместите папки на панель инструментов закладки для удобства доступа.

Каждый день щелкните правой кнопкой мыши папку и откройте все вкладки одним щелчком мыши.

Вы можете поместить все дневные папки в папку верхнего уровня, чтобы сэкономить место, если вы хотите за счет дополнительного щелчка, чтобы добраться до них.

Если вам действительно нужно идти дальше, вам нужно написать программу или скрипт для управления IE. Самый простой способ - написать скрипт PowerShell.

7

Я не советую это с IE, так как он не встроен ... Вам нужно будет обойти или подобное.

С FireFox вы могли бы сделать это, написав небольшой файл bat. Вместо того, чтобы открывать браузер, вам нужно запустить файл .bat, который откроет FireFox с выбранными вкладками

@ECHO OFF

SET BROWSER=firefox.exe
START %BROWSER% -new-tab "google.com"
START %BROWSER% -new-tab "http://superuser.com"
START %BROWSER% -new-tab "stackexchange.com" 

Лично я бы сохранил несколько разных версий (для каждой недели). Вы могли бы даже иметь скрипт для открытия страницы при первом входе в систему утром.

Если вы должны использовать IE, вы будете использовать аналогичную концепцию в том, что каждый день, когда вы впервые входите в систему, вы запускаете скрипт, который обновит реестр для вас. Сохраните нижеприведенный файл в формате .reg и запустите его (не забывайте, сначала сделайте резервную копию на всякий случай)

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Start Page"="http://www.yahoo.com"
reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /t REG_MULTI_SZ /v "Secondary Start Pages" /d "http://www.bbc.co.uk\0http://www.superuser.com\0" /f

Итак, у вас будет 5 таких файлов и на весь день, когда вы откроете IE, у него будут нужные вам настройки.

5

Предварительные шаги

  1. Создайте папку AutoLoad в избранном в Internet Explorer (IE).

  2. Создайте семь вложенных папок в папке, которую вы только что создали, пронумерованные от 0 до 6 . Конечный результат должен выглядеть так:

    Избранные

    Каждое число соответствует дню недели:

    • 0 - воскресенье
    • 1 - понедельник
    • 2 - вторник
    • 3 - среда
    • 4 - четверг
    • 5 - пятница
    • 6 - суббота

  3. Поместите страницы, которые вы хотите открыть в каждой подпапке, по мере необходимости.

Пакетный скрипт

Скопируйте следующий код и вставьте его в новый файл с именем SetIEPages.cmd:

@echo off
setlocal
setlocal enabledelayedexpansion

call :getWeekday

REM set the working directory
set dir=%userprofile%\Favorites\AutoLoad\%weekday%

REM ensure the directory exists
if not exist "%dir%\" exit /b 2

pushd "%dir%"

set pages=
set /a counter=1
set key=HKCU\Software\Microsoft\Internet Explorer\Main

REM loop through all favorites links
for %%A in (*.url) do (

REM get the URL
for /f "usebackq delims=" %%B in (
`type "%%~A" ^| find /i "URL="`
) do (

set url=%%~B
set url=!url:~4!

REM check whether the URL is empty
if defined url (

if !counter! geq 2 (
set pages=!pages!"!url!"\0
) else (

REM set the start page
reg add "%key%" /v "Start Page" /t REG_SZ /d "!url!" /f >nul

REM clear the secondary pages
reg delete "%key%" /v "Secondary Start Pages" /f >nul 2>&1
)

REM increase the URL counter
set /a counter += 1
)))

if defined pages (
set pages=!pages:~0,-2!

REM set the seconday pages
reg add "%key%" /v "Secondary Start Pages" /t REG_MULTI_SZ /d "!pages!" /f >nul
)

popd
endlocal & exit /b

:getWeekday
for /f "usebackq tokens=2 delims==" %%G in (
`wmic path Win32_LocalTime get dayofweek /value ^| findstr /c:"="`
) do set weekday=%%G
exit /b

Как это устроено

Скрипт извлекает текущий день недели, который затем используется для построения пути, содержащего ежедневные страницы. Затем он сканирует все избранные ссылки, доступные в целевой папке, получая URL каждой из них. Наконец, стартовые страницы IE установлены. Как только браузер запущен, выбранные страницы будут загружены автоматически. Наряду с запланированным заданием, приведенным ниже, это заставляет вещи работать по принципу «поставил и забыл».

Запланированная задача

  1. Нажмите Win+R, введите или вставьте taskschd.msc и нажмите Enter.
  2. Нажмите « Действие»> «Создать задачу». Назовите это SetIEPages .
  3. Находясь на вкладке General, нажмите Change User или Group.
  4. Введите имя учетной записи пользователя, нажмите « Проверить имена», а затем нажмите « ОК».
  5. Выберите параметр « Выполнить» независимо от того, вошел пользователь в систему или нет, и установите флажок « Не хранить пароль».
  6. Выберите вкладку « Триггеры » и нажмите « Создать».
  7. Измените Начать задачу на При входе в систему.
  8. Выберите опцию « Определенный пользователь» и убедитесь, что выбрана ваша учетная запись. Затем нажмите ОК.
  9. Переключитесь на вкладку Actions и нажмите New.
  10. Введите "X:\Path\to\SetIEPages.cmd" в текстовом поле « Программа / сценарий», заменив его фактическим путем к файлу.
  11. Перейдите на вкладку « Условия » и снимите флажок « Запускать задачу» только в том случае, если компьютер включен в сеть.
  12. Включите задачу «Выполнить» как можно скорее после пропуска запланированного запуска.
  13. Оставьте все остальные настройки на значения по умолчанию и нажмите ОК.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .