![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование части текста |
|
CMD/BAT - Копирование части текста
|
Новый участник Сообщения: 49 |
Доброго время суток.
Помогите с написанием скрипта. Есть текстовый файл index.txt Содержание файла index.txt </ul><br/><b>Скачать с сервера:</b><br/><ul><li><a href="http://aimp.su/storage/1ebc54f4e0ab861183fc4708934d8b79/aimp_4.13.1887.exe">AIMP.RU</a></li><li><a href="http://files.programki.net/aimp/1ebc54f4e0ab861183fc4708934d8b79/aimp_4.13.1887.exe">Programki.net</a></li><li><a href="https://yadi.sk/d/GezDlNUi3EDmTy">Yandex Disk</a></li><li><a href="https://drive.google.com/file/d/0B5rovoA-boWkR0NnM21lWktjU0k/view?usp=sharing">Google Drive</a></li><li><a href="http://www.programosy.pl/program,aimp.html">Programosy.pl</a></li></ul><a href="http://trusted.kaspersky.com/1EBC54F4E0AB861183FC4708934D8B79/AIM2514/info" target="_blank"> Содержание файла Downloads.cmd Эта часть 1ebc54f4e0ab861183fc4708934d8b79/aimp_4.13.1887.exe сылки возможно постоянно меняется с выходом новой версии. После изменения файла Downloads.cmd запустить его, а после окончания работы файла Downloads.cmd вернуть его в прежнее состояние. |
|
Отправлено: 10:41, 26-03-2017 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Iska, спасибо за помощь, но не буду занимать Ваше время. С PowerShell я не справлюсь.
Скрипт твой супер, хоть ты и говоришь, что ужас-ужас-ужас. По нему возникает множество вопросов - например: $sExpandPath - откуда взялась буква s, аналогично с $oRegExp4DownloadFileName - буква o и что это за 4; ExpandPath, ExpandFileName, ExpandFullName - не могу нигде найти про них и многое другое. Попытался написать скрипт $SiteAdress = "http://www.nyam.pe.kr/blog/entry/Imagine-Plugins" $HttpContent = Invoke-WebRequest -URI $SiteAdress $HttpContent.Links | Foreach {$_.href } | Select-String "Imagine_Plugin" | Out-File -FilePath 'plugin.txt' -Encoding ascii Жаль конечно что идея рубится на корню. Извените за потраченное время. |
Отправлено: 19:19, 25-04-2017 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 41275jur:
Цитата 41275jur:
Цитата 41275jur:
![]() Цитата 41275jur:
Цитата 41275jur:
Вот так уже малость получше будет, проверка, загрузка и распаковка самой утилиты и некоторых плагинов: Скрытый текст
# Imagine x86 — http://www.nyam.pe.kr/blog/entry/Imagine # http://www.nyam.pe.kr/dev/imagine/download/unicode/Imagine_1.0.9_Unicode.zip # # Imagine Plugins x86 — http://www.nyam.pe.kr/blog/entry/Imagine-Plugins: # http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_7Z_0.0.5.zip # http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_Archive_0.0.6.zip # http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_RAR_0.0.4.zip # http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_WebP_0.0.8.zip # & etc. $aDownloadList = ` ( 'Imagine - Image & Animation Viewer for Windows', 'http://www.nyam.pe.kr/blog/entry/Imagine', '^http://www\.nyam\.pe\.kr/dev/imagine/download/unicode/(Imagine_[\d\.]+_Unicode\.zip)$', '^http://www\.nyam\.pe\.kr/dev/imagine/download/unicode/Imagine_([\d\.]+)_Unicode\.zip$', '.\Imagine', 'Imagine.exe' ), ( '7-zip File Format Plugin', 'http://www.nyam.pe.kr/blog/entry/Imagine-Plugins', '^http://www\.nyam\.pe\.kr/dev/imagine/download/plugin/(Imagine_Plugin_7Z_[\d\.]+\.zip)$', '^http://www\.nyam\.pe\.kr/dev/imagine/download/plugin/Imagine_Plugin_7Z_([\d\.]+)\.zip$', '.\Imagine\Plugin', '7Z.plg' ), ( 'Numerous Archive File Formats Plugin', 'http://www.nyam.pe.kr/blog/entry/Imagine-Plugins', '^http://www\.nyam\.pe\.kr/dev/imagine/download/plugin/(Imagine_Plugin_Archive_[\d\.]+\.zip)$', '^http://www\.nyam\.pe\.kr/dev/imagine/download/plugin/Imagine_Plugin_Archive_([\d\.]+)\.zip$', '.\Imagine\Plugin', 'Archive\Archive.plg' ), ( 'RAR File Format Plugin', 'http://www.nyam.pe.kr/blog/entry/Imagine-Plugins', '^http://www\.nyam\.pe\.kr/dev/imagine/download/plugin/(Imagine_Plugin_RAR_[\d\.]+\.zip)$', '^http://www\.nyam\.pe\.kr/dev/imagine/download/plugin/Imagine_Plugin_RAR_([\d\.]+)\.zip$', '.\Imagine\Plugin', 'RAR.plg' ), ( 'WebP File Format Plugin', 'http://www.nyam.pe.kr/blog/entry/Imagine-Plugins', '^http://www\.nyam\.pe\.kr/dev/imagine/download/plugin/(Imagine_Plugin_WebP_[\d\.]+\.zip)$', '^http://www\.nyam\.pe\.kr/dev/imagine/download/plugin/Imagine_Plugin_WebP_([\d\.]+)\.zip$', '.\Imagine\Plugin', 'WebP\WebP.plg' ) | ForEach-Object -Process { [PSCustomObject]@{ Name = $_[0]; Uri = $_[1]; RegExp4DownloadFileName = $_[2]; RegExp4ProductVersion = $_[3]; ExpandPath = $_[4]; ExpandFileName = $_[5] } } foreach($oDownloadEntry in $aDownloadList) { $oUri = New-Object -TypeName 'System.Uri' -ArgumentList $oDownloadEntry.Uri $oRegExp4DownloadFileName = New-Object -TypeName 'System.Text.RegularExpressions.Regex' -ArgumentList $oDownloadEntry.RegExp4DownloadFileName, $([System.Text.RegularExpressions.RegexOptions]::IgnoreCase) $oRegExp4ProductVersion = New-Object -TypeName 'System.Text.RegularExpressions.Regex' -ArgumentList $oDownloadEntry.RegExp4ProductVersion, $([System.Text.RegularExpressions.RegexOptions]::IgnoreCase) $sExpandPath = $oDownloadEntry.ExpandPath $sExpandFileName = $oDownloadEntry.ExpandFileName $sExpandFullName = "$sExpandPath\$sExpandFileName" Write-Host "`r`nUpdate checking [$($oDownloadEntry.Name)]…" try { $oHtmlWebResponseObject = Invoke-WebRequest -Uri $oUri -UseBasicParsing -ErrorAction Stop } catch { $oHttpStatusCode = $_.Exception.Response.StatusCode Write-Host "Can't load [$($oUri.AbsoluteUri)] ($($oHttpStatusCode.value__): $oHttpStatusCode)" continue } $oHtmlWebResponseObject.Links | ForEach-Object -Process { $sHRef = $_.href if($oRegExp4DownloadFileName.IsMatch($sHRef)) { $sDownloadFileName = $oRegExp4DownloadFileName.Matches($sHRef).Item(0).Groups.Item(1).Value $sDownloadProductVersion = $oRegExp4ProductVersion.Matches($sHRef).Item(0).Groups.Item(1).Value Write-Host "Remote product version is [$sDownloadProductVersion]." if(Test-Path -Path $sExpandFullName -PathType Leaf) { $sExpandProductVersion = (Get-Item -Path $sExpandFullName).VersionInfo.ProductVersion Write-Host "Local product version is [$sExpandProductVersion]." } else { $sExpandProductVersion = "0.0.0.0" Write-Host "Local product not found." } if($sDownloadProductVersion -ne $sExpandProductVersion) { Write-Host "Try downloading…" (New-Object -TypeName 'System.Net.WebClient').DownloadFile($sHRef, $sDownloadFileName) if(Test-Path -Path $sDownloadFileName -PathType Leaf) { Write-Host "Unzip downloaded file [$sDownloadFileName] into [$sExpandPath]…" Expand-Archive -Path $sDownloadFileName -DestinationPath $sExpandPath -Force | Out-Null Write-Host "Ready." } else { Write-Host "Not found downloaded file [$sDownloadFileName]." } } else { Write-Host "Current version [$sExpandProductVersion] is up to date." } } } } Write-Host "`r`nThat's done." При желании ещё можно удалять загруженные архивы, дабы не путались под ногами. |
|||||
Отправлено: 22:10, 27-04-2017 | #22 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Iska, подскажи более понятную литературу по PowerShell, особенно по сокращениям.
Подскажите - PowerShell воспринимает переменные среды Windows? Возможно скачать файлы из текстового файла, например test.txt содержащий прямые ссылки? |
Отправлено: 14:44, 05-05-2017 | #23 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 41275jur:
Цитата 41275jur:
Цитата 41275jur:
или через классы .Net. Цитата 41275jur:
|
||||
Отправлено: 15:14, 05-05-2017 | #24 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Iska, помоги пожалуйста.
Цитата Iska:
Get-Content -Path '.\index.txt' | ForEach-Object -Process { $WebClient = New-Object System.Net.WebClient $WebClient.DownloadFile() } Не удается найти перегрузку для "DownloadFile" и количества аргументов: "0". Не могу понять, что такое перегрузку для "DownloadFile" и что писать с скобках $WebClient.DownloadFile() |
|
Отправлено: 13:00, 07-05-2017 | #25 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 41275jur:
Цитата:
Скрытый текст
$sSourseFileList = 'C:\Мои проекты\0070\Urls.txt' if(Test-Path -Path $sSourseFileList -PathType Leaf) { $aContent = Get-Content -Path $sSourseFileList foreach($sUrl in $aContent) { $sLocalFileName = [System.IO.Path]::GetFileName($sUrl) Write-Host "Try downloading [" -NoNewline -ForegroundColor DarkGreen Write-Host $sUrl -NoNewline -ForegroundColor Cyan Write-Host "]…`t" -NoNewline -ForegroundColor DarkGreen try { (New-Object -TypeName 'System.Net.WebClient').DownloadFile($sUrl, $sLocalFileName) } catch [System.Net.WebException] { Write-Host "Failure" -ForegroundColor Red $oHttpStatusCode = $_.Exception.Response.StatusCode Write-Host "Can't load [" -NoNewline -ForegroundColor Red Write-Host $sUrl -NoNewline -ForegroundColor Cyan Write-Host "] (" -NoNewline -ForegroundColor Red Write-Host $oHttpStatusCode.value__ -NoNewline -ForegroundColor Yellow Write-Host ": " -NoNewline -ForegroundColor Red Write-Host $oHttpStatusCode -NoNewline -ForegroundColor Yellow Write-Host ")" -ForegroundColor Red continue } if(Test-Path -Path $sLocalFileName -PathType Leaf) { Write-Host "OK" -ForegroundColor Green } else { Write-Host "Can't download remote file [" -NoNewline -ForegroundColor Red Write-Host $sUrl -NoNewline -ForegroundColor Cyan Write-Host "] into [" -NoNewline -ForegroundColor Red Write-Host $sLocalFileName -NoNewline -ForegroundColor Cyan Write-Host "]." -ForegroundColor Red } } } else { Write-Host "Can't find source file " -NoNewline -ForegroundColor Red Write-Host $sSourseFileList -ForegroundColor Cyan } Например:
![]() |
||
Отправлено: 17:44, 07-05-2017 | #26 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Iska, извини меня, я наверное тебе уже надоел, но я чем дальше в PowerShell, тем больше убеждаюсь что я далекий в нем.
Нужна твоя помощь. 1. парсинг сайта $SiteAdress = "http://forum.oszone.net/thread-138555.html" $sSourt = 'FullFlash64' $site = Invoke-WebRequest -UseBasicParsing -Uri $SiteAdress $site.Links | Foreach {$_.href } | Select-String $sSourt | Select-Object -ExpandProperty line как эту ссылку скачать. 2. парсинг сайта $SiteAdress = "http://forum.oszone.net/thread-145766.html" $sSourt = 'VCR_Hyb_x86_x64' $site = Invoke-WebRequest -UseBasicParsing -Uri $SiteAdress $site.Links | Foreach {$_.href } | Select-String $sSourt | Select-Object -ExpandProperty line как для полученной ссылки сделать повторный парсинг. И после получения второй ссылки - скачать ее. Возможно ли при помощи PowerShell распаковать .7z файл. Как распаковать файл - например Цитата Iska:
|
|
Отправлено: 14:44, 19-05-2017 | #27 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 41275jur:
Но вот у меня вопрос — а как Вы тут без предварительной загрузки и распаковки узнаете версию, то есть — нужно ли вообще что-то загружать? Потому тут надо обязательно учесть это: Цитата simplix:
Цитата 41275jur:
… try { (New-Object -TypeName 'System.Net.WebClient').DownloadFile($sUrl, $sLocalFileName) } catch [System.Net.WebException] { … Цитата 41275jur:
<a id="d_l" href="https://www.upload.ee/download/6918564/dae7a1f2c31611a578b8/VCR_Hyb_x86_x64_18.04.2017.rar" onmouseover="document.dllink.src='images/dl_hover_.png';" onmouseout="document.dllink.src='images/dl_.png';"><img src="images/dl_.png" width="154" height="32" border="0" name="dllink" alt="Lae fail alla!" /></a> Цитата 41275jur:
Цитата 41275jur:
|
||||||
Отправлено: 15:11, 19-05-2017 | #28 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
|
||
Отправлено: 16:25, 19-05-2017 | #29 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата 41275jur:
![]() Цитата 41275jur:
|
||
Отправлено: 00:59, 20-05-2017 | #30 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Копирование текста колонками | niko_dovgiy | Скриптовые языки администрирования Windows | 2 | 07-12-2015 15:29 | |
Интерфейс - Копирование текста в любых окнах | Ardenen | Microsoft Windows 7 | 3 | 23-07-2015 09:09 | |
CMD/BAT - [решено] Замена части текста в txt файлах | Traveller124 | Скриптовые языки администрирования Windows | 7 | 02-04-2012 19:16 | |
C/C++ - Извлечение из текста нужной части | Alexey271 | Программирование и базы данных | 9 | 25-11-2010 13:19 | |
копирование текста | volin | Хочу все знать | 10 | 08-01-2007 00:18 |
|