Инструменты пользователя

Инструменты сайта


scripts:ps

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
scripts:ps [01.07.2024 08:46] – [Таблички, отчёты, массивы] viacheslavscripts:ps [28.03.2025 08:27] (текущий) – [json] viacheslav
Строка 354: Строка 354:
 $alfabetRus = [char[]](1072..1077+1105+1078..1103) $alfabetRus = [char[]](1072..1077+1105+1078..1103)
 $alfabetRus |select @{n="letter";e={$_}},@{n="index";e={$alfabetRus.indexof($_)+1}} $alfabetRus |select @{n="letter";e={$_}},@{n="index";e={$alfabetRus.indexof($_)+1}}
 +</code>
  
 +<code powershell>
 +[char[]](1072..1103+1105) # русский алфавит строчные + буква ё
 +[char[]](1040..1071+1025) # русский алфавит заглавные + буква Ё
 +[char[]](1040..1103+1025+1105) # русский алфавит строчные и заглавные + буквы Ё и ё
 </code> </code>
  
Строка 508: Строка 513:
 </code> </code>
  
 +==== Удалить файл из корзины ====
 +<code powershell>
 +$file = 'C:\temp\out — копия (3).txt'
 +
 +(New-Object -ComObject Shell.Application).NameSpace(0x0a).Items() |? {
 +($_.ExtendedProperty("{9B174B33-40FF-11D2-A27E-00C04FC30871} 2") + '\' + $_.name + '.' + ($_.path -replace '.*\.')) -eq $file
 +} |del
 +</code>
 +
 +==== Копирование файлов robocopy + splatting ====
 +Подстановка значений, введённых пользователем, в команду.
 +<code powershell>
 +$ext = @((Read-Host "Введите расширения файлов через запятую, например, mp3,avi,txt") -split ',' -replace '^','*.')
 +robocopy "$env:userprofile\Downloads" "C:\temp\out" $ext /R:1 /W:1
 +</code>
 ===== Работа с текстом ===== ===== Работа с текстом =====
 Программа для создания большого файла txt: [[https://www.mynikko.com/dummy/|Dummy File Creator]]. Программа для создания большого файла txt: [[https://www.mynikko.com/dummy/|Dummy File Creator]].
Строка 517: Строка 537:
 25 октября 2021 г. 0:00:00 25 октября 2021 г. 0:00:00
 </code> </code>
-https://stackoverflow.com/questions/38717490/convert-a-string-to-datetime-in-powershell+https://stackoverflow.com/questions/38717490/convert-a-string-to-datetime-in-powershell\\ 
 +[[https://learn.microsoft.com/ru-ru/dotnet/standard/base-types/custom-date-and-time-format-strings|Строки пользовательского формата даты и времени]]
  
 ==== Убрать из файла все строки, содержащие плюс ==== ==== Убрать из файла все строки, содержащие плюс ====
Строка 566: Строка 587:
  
 ExtractTo-Chunk -in "C:\temp\big.log" -out "C:\temp\chunk1.log" -regex "192.168.1.10" ExtractTo-Chunk -in "C:\temp\big.log" -out "C:\temp\chunk1.log" -regex "192.168.1.10"
-ExtractTo-Chunk -in "C:\temp\big.log" -out "C:\temp\chunk1.log" -regex "10.0.0.8"+ExtractTo-Chunk -in "C:\temp\big.log" -out "C:\temp\chunk2.log" -regex "10.0.0.8"
 </code> </code>
  
Строка 705: Строка 726:
 <code powershell> <code powershell>
 (gc 'D:\Downloads\file.txt' -Raw) -replace '(\r?\n){2,}', '$1$1' (gc 'D:\Downloads\file.txt' -Raw) -replace '(\r?\n){2,}', '$1$1'
 +</code>
 +
 +==== Преобразование строк в таблицу ====
 +<code>
 +Opera Hotlist version 2.0
 +Options: encoding = utf8, version=3
 +
 +#CONTACT
 + ID=11
 + NAME=Justynka
 + CREATED=1195505237
 + MAIL=JUSTYNA66@gmail.com
 + ICON=Contact0
 +
 +#CONTACT
 + ID=12
 + NAME=Leszek
 + CREATED=1195677687
 + MAIL=Leszek@domena.pl
 + ICON=Contact0
 +
 +#CONTACT
 + ID=13
 + NAME=Iwona Kwiatkowska
 + CREATED=1196277590
 + MAIL=iwon.kwiat@op.pl
 + ICON=Contact0
 +
 +
 +#FOLDER
 + ID=15
 + NAME=Kosz
 + CREATED=1195505227
 + TRASH FOLDER=YES
 + UNIQUEID=EAF22324295C86499476802CC76DE41E
 +
 +-
 +
 +#CONTACT
 + ID=16
 + NAME=Ania
 + CREATED=1195505237
 + MAIL=Ania.Nowak@poczta.com
 + ICON=Contact0
 +
 +</code>
 +
 +Вычистить ненужные строки и мусор, разделить текст на сегменты, создать структурированные объекты. Разделителем для ''ConvertFrom-StringData'' должен быть ''=''.
 +<code powershell>
 +(Get-Content .\opera.adr -Raw) -replace '^Opera[\s\S]*?#CONTACT' -split '#CONTACT|#FOLDER' |% {
 +  $props = ConvertFrom-StringData -StringData ($_ -replace '\n-\s+')
 +  New-Object PSOBject -Property $props |select Name, Mail
 +}
 +</code>
 +
 +https://powershellmagazine.com/2014/09/09/using-the-convertfrom-string-cmdlet-to-parse-structured-text/\\
 +https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/convertfrom-stringdata?view=powershell-5.1
 +
 +==== Поиск значений ASCII для символов ====
 +
 +<code powershell>
 +[char[]]"абвгдяё" |select @{n='Char';e={$_}},@{n='Code';e={[int]$_}}
 +
 +Char Code
 +---- ----
 +   а 1072
 +   б 1073
 +   в 1074
 +   г 1075
 +   д 1076
 +   я 1103
 +   ё 1105
 +</code>
 +https://rakhesh.com/powershell/getting-the-ascii-utf-8-value-of-a-string/
 +
 +==== json ====
 +Удобное создание json
 +<code powershell>
 +$json = @{
 +  repoName = "project-maven-prod"
 +  name = "artifact"
 +  version = "2.2.26"
 +} |ConvertTo-Json -Compress
 +# Результат: {"name":"artifact","version":"2.2.26","repoName":"project-maven-prod"}
 +
 +# Применение, например, в API-запросе
 +$response = Invoke-RestMethod -Uri "$url/script/getVersion/run" `
 +-Headers @{"Authorization" = "Basic $basic"; "Accept" = "application/json"} `
 +-Method Post -Body $json -ContentType "application/json"
 +
 </code> </code>
  
Строка 843: Строка 954:
 ==== Получить HTML-объекты определённого класса ==== ==== Получить HTML-объекты определённого класса ====
 <code powershell> <code powershell>
-$url = curl "https://vk.com/videos-0000000+$url = "https://jut.su/naruuto/season-2/episode-301.html
-innertext в данном случае наименования +Нужно указать первый элемент [0], даже если он единственный. 
-($url.ParsedHtml.body.getElementsByTagName('a') |? {$_.getAttributeNode('class').Value -eq 'video_item_title'}).innertext+(iwr $url).ParsedHtml.body.getElementsByClassName('header_video anime_padding_for_title_post_naruto')[0].innertext
 </code> </code>
 https://stackoverflow.com/a/17625740 https://stackoverflow.com/a/17625740
Строка 920: Строка 1031:
 </WRAP> </WRAP>
  
-https://michlstechblog.info/blog/powershell-show-a-messagebox/+https://michlstechblog.info/blog/powershell-show-a-messagebox/\\ 
 +https://winitpro.ru/index.php/2018/10/02/uvedomleniya-polzovateley-is-powershell/
  
 ==== Температура процессора ==== ==== Температура процессора ====
scripts/ps.1719823613.txt.gz · Последнее изменение: 30.07.2024 19:20 (внешнее изменение)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki