Здравствуйте, гость ( Вход | Регистрация )

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> LuaPosh, 🆕 Новые возможности пилота
Fire73
сообщение 6.6.2020, 18:09
Сообщение #21


**

Neophyte
Сообщений: 34
Регистрация: 5.6.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.343
Возраст: 23



Дано:
89997001234:Forsik007:Алла Пугачева:uopilot@mail.ru:zdarovabanditi

Нужно с помощью регулярного выражения найти : 1234, Forsik007, uopilot@mail.ru и записать в переменные.


Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 6.6.2020, 18:36
Сообщение #22


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



Благодаря команде split, мы можем обойтись без постройки сложных паттернов регэкспа.
Код
--lua
log "clear";log"mode compact"
require "luaposh";PScode('return',{[[#}

$str ="89997001234:Forsik007:Алла Пугачева:uopilot@mail.ru:zdarovabanditi" -split ':'
$num =($str[0]).Substring(7,4)
$id  =$str[1]
$mail=$str[3]

log $num, $id, $mail

]]})

Кстати, данная строка похожа на инфо о каком-то клиенте/заказчике и т. п.. Если планируется обрабатывать много таких строк, то будет классно создать объект клиента, в котором и будут все его данные. А в итоге вообще можем их всех сохранить в excel файл.
Например, вот так:
Код
--lua
log "clear";log"mode compact"
require "luaposh";PScode('return',{[[#}

$pathOut='C:\test\baza.csv'

$str  ="89997001234:Forsik007:Алла Пугачева:uopilot@mail.ru:zdarovabanditi"   -split ':'
$str1 ="88887774321:Bond007:Филипп Киркоров:philpilot@gmail.ru:privetbanditi" -split ':'
$clientALLA=@{#}
    num =($str[0]).Substring(7,4)
    id  =$str[1]
    mail=$str[3]
}
$clientPHIL=@{#}
    num =($str1[0]).Substring(7,4)
    id  =$str1[1]
    mail=$str1[3]
}
$Base=($clientALLA,$clientPHIL)

# Показать в логе Аллу*
log $clientALLA
# Показать в логе только mail Аллы
log $clientALLA.mail
# Сохранить базу в Excel таблицу
$base|%{[pscustomobject]$_| export-csv $pathOut -not -enc utf8 -d ';' -A}
start $pathOut

]]})

* Не забываем, что нужно открыть настройки пилота, выбрать шрифт лога, Lucida Console.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 17.6.2020, 16:48
Сообщение #23


*****

Journeyman
Сообщений: 390
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(Fors1k @ 23.3.2020, 22:20) *

Распаковать рядом с exe пилота.
v. 4.1 Прикрепленный файл luaposh_v4.1.rar ( 5,08 килобайт ) Кол-во скачиваний: 51

Архив битый
--Upd--
Вот это поворот)
Все версии архивов битые
Цитата
Совет:
Распаковать рядом с exe пилота.
v. 4 Прикрепленный файл luaposh_v4.rar ( 5,01 килобайт ) Кол-во скачиваний: 34
Совет:
Распаковать рядом с exe пилота.
v. 3 Прикрепленный файл luaposh_v3.rar ( 3,31 килобайт ) Кол-во скачиваний: 28
Совет:
Распаковать рядом с exe пилота.
v. 2 Прикрепленный файл luaposh_v2.rar ( 1,88 килобайт ) Кол-во скачиваний: 41
Совет:
Распаковать рядом с exe пилота.
v. 1 Прикрепленный файл luaposh.rar ( 1010 байт ) Кол-во скачиваний: 34


Как закончилось моё знакомство с LuaPoshk)))
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 17.6.2020, 17:54
Сообщение #24


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



Цитата(Levo222 @ 17.6.2020, 16:48) *
Архив битый

Что значит битый? У всех других открывается нормально.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 17.6.2020, 17:56
Сообщение #25


*****

Journeyman
Сообщений: 390
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(Fors1k @ 17.6.2020, 21:54) *

Что значит битый? У всех других открывается нормально.

Я не другой. У меня всё через одно место. Перепробовал всеми архиваторами - не открывает.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 17.6.2020, 18:17
Сообщение #26


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



Цитата(Levo222 @ 17.6.2020, 17:56) *
У меня всё через одно место.

Тогда в чем здесь вина моего архива?
Цитата(Levo222 @ 17.6.2020, 17:56) *
Перепробовал всеми архиваторами - не открывает.

Когда он не может открыть, то он что-то пишет. Например: неожиданный конец архива;файл поврежден.
Эту информацию он дает специально, что бы можно было понять что именно нужно исправить.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 17.6.2020, 19:17
Сообщение #27


*****

Journeyman
Сообщений: 390
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(Fors1k @ 17.6.2020, 22:17) *

Тогда в чем здесь вина моего архива?

Когда он не может открыть, то он что-то пишет. Например: неожиданный конец архива;файл поврежден.
Эту информацию он дает специально, что бы можно было понять что именно нужно исправить.

Не удалось открыть файл как архив. 7-Zip/WinRar
luaposh_v4.1.rar: The archive is either in unknown format or damaged
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 17.6.2020, 20:49
Сообщение #28


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



Вот попробуйте zip. Может именно rar не хочет открывать у вас.
Прикрепленный файл  luaposh_ZIP_v4.1.zip ( 5,27 килобайт ) Кол-во скачиваний: 53


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 17.6.2020, 23:54
Сообщение #29


*****

Journeyman
Сообщений: 390
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(Fors1k @ 18.6.2020, 0:49) *

Вот попробуйте zip. Может именно rar не хочет открывать у вас.
Прикрепленный файл  luaposh_ZIP_v4.1.zip ( 5,27 килобайт ) Кол-во скачиваний: 53


О Восславим Zip Животворящий!! открылось)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 9.7.2020, 19:15
Сообщение #30


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



LuaPosh V5
  1. Добавил команду определения цвета в заданных координатах.

    Получить цвет в окне 202896, в координатах 442х101:
    Код
    --lua
    log"clear";log"mode compact"
    require"luaposh";PScode('void',{[[#}
    #
    $color=Get-Color 202896 442 101
    msg_box $color
    #
    ]]})

    Поиск цвета можно отправить в отдельный поток, а ваш скрипт в это время может заниматься другими делами:
    Код
    --lua
    log "clear";require "luaposh";PScode('return',{[[#}
    ### Поток 1
    Start-Timer @"
    if ((Get-Color 922556 34 16) -eq 16510950){#}    # отслеживаем появление цвета 16510950
        msg_box "Цвет обнаружен"                     # действия таймера
        log "Цвет обнаружен"                         # действия таймера
    }
    "@ 500                                           # интервал выполнения 500 ms
    ### Поток 2
    Start-Timer @"
    if ((Get-KeyState 0x20)){#}                      # отслеживаем нажатие пробела
        msg_box "Нажат пробел"                       # действия таймера
        log "ПРОБЕЛ"                                 # действия таймера
    }
    "@ 500                                           # интервал выполнения 500 ms
    ### Основной поток
    while((on)){#}
        log ("Я просто считаю: "+$i++)               # действия основного потока
        sleep -m 450                                 # действия основного потока
    }
    ]]})

  2. Повысил скорость общения uopilot и luaposh в 350 раз.

  3. Так как на форуме много раз поднималась тема защиты кода, сделал возможность шифрования скрипта. Кто планирует передавать свой скрипт, но хочет избежать копирования - обращайтесь. Скрипт будет запускаться только у того, у кого вы захотите.
    Поддерживаемые языки: Lua , LuaPosh.

  4. Проверить текущую версию:
    Код
    --lua
    log "clear";require "luaposh"
    PScode('void',{[[version]]})

  5. Перезапустить LuaPosh:
    Код
    --lua
    require "luaposh"
    lp_restart()
Обновление можно установить через апдейт. Если у кого возникнут сложности с апдейтом, в первый пост прикрепил архив.

Сообщение отредактировал Fors1k - 14.10.2020, 15:31


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 15.7.2020, 15:13
Сообщение #31


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



Prompt с возможностью выбора вариантов.

Прикрепленное изображение
Совет:
check_prompt ("Вариант 1", "Вариант 2") "Подсказка"(необязательно)

Начнем со скучного примера, где мы сами задаем варианты, и не требуется использовать подсказку:
Код
--lua
log "clear";log"mode compact"
require "luaposh";PScode('return',{[[#}
#
$a = 1
$b = 2

$c = 7 + ( check_prompt ($a,$b) )
log $c
#
]]})


В этом примере нам пригодится возможность вывода подсказки перед запросом выбора.
Задача: Если получаем число меньше 50, то сохраним его в один файл, если больше 50, то в другой.
Код
--lua
log "clear";log"mode compact"
require "luaposh";PScode('void',{[[#}
#
$path1  = "C:\маленькие числа.txt"
$path2  = "C:\большие числа.txt"

$number = Get-Random 100

$number|out-file (check_prompt ($path1, $path2) "Получилось число $number`. Куда его сохраним?")
#
]]})


Переходим к самому интересному примеру из представленных, в котором мы не будем сами задавать варианты выбора.
Задача: посмотреть список процессов, запущенных от имени какого-либо пользователя.
Код
--lua
log "clear";log"mode compact"
require "luaposh";PScode('return',{[[#}
#
$proc  = Get-Process -IncludeUserName
$user  = $proc.username|Sort-Object -Unique
$uProc = $proc|Where-Object username -eq (check_prompt $user "Выберите пользователя:")|ft -a
log $uProc
#
]]})

Если у кого-то будут еще идеи как можно интересно использовать такого вида prompt, то присылайте ваш код ниже, будет интересно посмотреть.

Сообщение отредактировал Fors1k - 16.7.2020, 19:48


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 20.9.2020, 8:51
Сообщение #32


***********

Модератор UOPilot
Сообщений: 8.567
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 25147
Пользователь №: 11.279



Скорость работы этой либы отличается от скорости запуска PowerShell? Прошу понять правильно, просто зачастую я быстрее руками что-то сделаю, чем ждать запуска этой наковальни (IMG:style_emoticons/default/smile.gif)


--------------------
Скрипты под заказ.
Консультации по UOpilot 12$/час.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 20.9.2020, 11:40
Сообщение #33


**********

Elder
Сообщений: 2.994
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 19181
Пользователь №: 16.971
Возраст: 29



Долго первый запуск, потом нормально.
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 21.9.2020, 18:47
Сообщение #34


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



У меня старт занимает 1.73 сек. Можно после запуска пилота просто выполнить какой-нибудь разогревающий код, типа:
Код
--lua
require"luaposh"
PScode('return',{[[log PVM started]]})

VM запустилась, теперь скорость работы моментальная.
Хорошо бы, конечно, ей запускаться автоматически, но для этого нужен WKnight.

Сообщение отредактировал Fors1k - 17.10.2020, 2:45


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 28.9.2020, 1:33
Сообщение #35


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



LuaPosh V6

Диалоговое окно выбора файла.
Прикрепленное изображение

Прочитать файл, выбрав его в окне:
Код
--lua
log 'clear';log 'mode compact'
require"luaposh";PScode('return',{[[#}
#
$filePath = ShowDialog-FilePath
log $filePath
$data = Get-Content $filePath -Encoding UTF8
log $data
#
]]})


Диалоговое окно выбора папки.
Прикрепленное изображение

Удалить папку, выбрав её в окне:
Код
--lua
log 'clear';log 'mode compact'
require"luaposh";PScode('return',{[[#}
#
$folderPath = ShowDialog-FolderPath 'Что будем удалять?'
log $folderPath
Remove-Item $folderPath
#
]]})
Второй параметр-подсказка необязательный.


Синхронизация локальной папки с FTP.
Обновляет имеющиеся файлы.
Загружает отсутствующие.



Пример:
Код
--lua
log 'clear';log 'mode compact'
require"luaposh";PScode('return',{[[#}
#
$FtpPath   = 'ftp://my.ftpurl.ru/docs/'
$LocalPath = 'C:\files\docs\'
$FtpLogin  = 'john77'
$FtpPass   = 'qwe123'

$Result = Sync-FtpFolder $ftpPath $localPath $FtpLogin $FtpPass
log $Result
#
]]})
Параметры $FtpLogin и $FtpPass не требуются, если сервер имеет открытый доступ.

Результат в логе:
Код
[1/3]scan.png
Files identical

[2/3]document.docx
FTP file newer
Downloaded

[3/3]test.txt
FTP file older
Uploaded


Сообщение отредактировал Fors1k - 28.9.2020, 2:38


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 9.10.2020, 17:52
Сообщение #36


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



LuaPosh V7

Экранная лупа
Код
--lua
log"clear";log"mode compact"
require"luaposh";PScode('return',{[[#}
#
$color = Show-ScreenMagnifier
log $color
#
]]})
Верхний статус-бар отображает: цвет|координаты|масштаб.
Нижний статус-бар показывает цвет, который был определен под курсором.

Использование:
num+ = увеличить масштаб
num- = уменьшить масштаб
num0 = сбросить масштаб



Когда курсор наведен на нужный цвет, нажмите Esc. Лупа закроется, выбранный цвет будет записан в переменную.
демонстрация

Проверить ссылку на наличие вирусов
Код
--lua
log"clear";log"mode compact"
require"luaposh";PScode('return',{[[#}
#
$result = Check-UrlVirus yandex.ru
log $result
#
]]})
Если вирусов не обнаружено, вернет clearly.
return
Сначала поставил возврат clear, так всю голову сломал пока тестил. Думает, и ничего не возвращает. Потом осенило (IMG:style_emoticons/default/smile.gif)



Сообщение отредактировал Fors1k - 14.10.2020, 15:33


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 14.10.2020, 15:40
Сообщение #37


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



Добавлены параметры для экранной лупы.


-freezScreen
Замораживает экран. Пригодится если цвет, который вы хотите определить, меняется при наведении курсора.

-Clipboard
Выбранный цвет будет занесен в буфер обмена.

-rgb или -dec (без параметра будет Hex)
Задает формат определяемого цвета.


Сообщение отредактировал Fors1k - 14.10.2020, 15:59


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 18.10.2020, 20:38
Сообщение #38


*****

Старший модератор UO Pilot
Сообщений: 420
Регистрация: 19.12.2017
Группа: Модераторы
Наличность: 2728
Пользователь №: 18.746



Поколдовал над запуском.
Код
--lua
log "clear";log "mode compact"
begin = os.clock()
require"luaposh";PScode('return',{[[#}
#
log "Started"
#
]]})
finish = os.clock() - begin
log(finish)

На железе поколения DDR2 / Core 2 * результат 0.751. Полагаю, на всяких Core i* будет много быстрее.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V < 1 2
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 30.10.2020, 14:19
Designed by Nickostyle