Как импортировать 100500 закладок
Недавно на просторах Facebook-а, была довольно интересная дискуссия по управлению тем барахлом, балластом, мусором (то что подходит не вычеркивать) в избранном браузера. Суть сводилась к такой задаче — как импортировать 100500 закладок из ОгнеЛиса в Ишака… IE после импорта первой тысячи закладок благополучно помирал. Поэтому было принято решение воспользоваться скриптами.
Традиционно, я завел разговор в «степь» именуемую как Powershell, но к сожалению из-за недостатка времени и отвратительной погоды, завершить его так и не удалось, но я пообещаю обещать что когда ни будь допишу как именно произвести импорт.
Сейчас писать XML-парсер просто лень
Приступим к разбору первого этапа.
Избранное хранится в папке
$IEF = [Environment]::GetFolderPath(‘Favorites’)
В виде текстовых файлов с расширением URL.
$Favorite = Get-ChildItem $IEF -Recurse
Что бы увидеть то что мы собрали в виде таблицы запускаем такой скрипт.
Get-ChildItem ([Environment]::GetFolderPath(‘Favorites’)) -Recurse -Include *.url |
? {Select-String —input $_ -quiet "^URL=http"} |
Select @{Name="Name"; Expression={[IO.Path]::GetFileNameWithoutExtension($_.FullName)}},
@{Name="URL"; Expression={get-content $_ | ? {$_ -match "^URL=http"} | % {$_.Substring(4)}}}
Как получить список имеющихся закладок понятно. Как создать новую?
Новую создать еще проще…
$IEF = [Environment]::GetFolderPath(‘Favorites’)
$Shell = New-Object -ComObject WScript.Shell
$IEF = Join-Path -Path $IEF -ChildPath PowerShell
$Name = ‘blog.wadmin.ru’
$FullPath = Join-Path -Path $IEF -ChildPath "$($Name).url"
$url = ‘http://blog.wadmin.ru’
$shortcut = $Shell.CreateShortcut($FullPath)
$shortcut.TargetPath = $Url
$shortcut.Save()
Экспорт всех найденных URL-ов в txt-файл
$IEF = [Environment]::GetFolderPath(‘Favorites’)
$urls = (Get-ChildItem $IEF -Recurse —Filter ‘*.url’ | Get-Content)
foreach ($item in $urls) {
if (($item.ToString()) -like "URL=http*")
{
(($item.ToString())).Substring(4) | Out-File ‘c:\temp\urlexport.txt’ -Append
}
}
Что забыл написать?
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.