Как вставить переменную или ее значение форму "Указать номер" при получении строки?

kodzero

Client
Регистрация
13.02.2013
Сообщения
91
Благодарностей
7
Баллы
8
Задача получать предпоследнюю строку?

Переменная - 1 не работает, тоесть:
{-Variable.pidline-} - 1
Выходит ошибка:
Выполнение действия List Индекс находится вне границ массива
4f5d7d56524c.jpg
Не могу понять как так вне границ массива? :huh:
Переменно {-Variable.pidline-} присвоено значение количества строк этого массива соответственно - 1 - это предпоследняя строка получается. Пробовал и просто переменную вставить, не работает. Только если вставить цифры, тогда значение строки присваивается переменной...



Есть второй вариант, выдернуть регуляркой цифровое значение PIDa предпоследнего cmd.exe процесса, это будет еще лучше.


Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 24 K
System 4 Services 0 7я232 K
smss.exe 424 Services 0 1я216 K
csrss.exe 504 Services 0 5я172 K
wininit.exe 560 Services 0 4я376 K
csrss.exe 584 Console 1 23я572 K
winlogon.exe 628 Console 1 5я376 K
services.exe 672 Services 0 10я656 K
lsass.exe 684 Services 0 18я136 K
lsm.exe 692 Services 0 7я084 K
svchost.exe 792 Services 0 10я856 K
svchost.exe 868 Services 0 11я908 K
atiesrxx.exe 932 Services 0 4я152 K
svchost.exe 996 Services 0 23я560 K
svchost.exe 328 Services 0 187я524 K
svchost.exe 472 Services 0 309я976 K
svchost.exe 576 Services 0 60я476 K
svchost.exe 1104 Services 0 7я860 K
svchost.exe 1268 Services 0 161я796 K
spoolsv.exe 1384 Services 0 16я432 K
svchost.exe 1436 Services 0 12я412 K
Fuel.Service.exe 1576 Services 0 5я544 K
apnmcp.exe 1604 Services 0 6я508 K
AppleMobileDeviceService. 1648 Services 0 8я060 K
BlueSoleilCS.exe 1684 Services 0 13я400 K
mDNSResponder.exe 1728 Services 0 5я800 K
BsMobileCS.exe 1748 Services 0 6я220 K
dwservice.exe 1792 Services 0 19я692 K
frwl_svc.exe 1876 Services 0 12я268 K
svchost.exe 1912 Services 0 14я072 K
hasplms.exe 1948 Services 0 13я428 K
HPSIsvc.exe 2004 Services 0 4я164 K
svchost.exe 1560 Services 0 8я872 K
vmware-usbarbitrator.exe 2084 Services 0 4я996 K
vmnat.exe 2144 Services 0 3я892 K
winvnc4.exe 2192 Services 0 5я072 K
winvnc4.exe 2220 Console 1 10я572 K
WLIDSVC.EXE 2228 Services 0 14я200 K
vmware-authd.exe 2280 Services 0 10я032 K
WLIDSVCM.EXE 2404 Services 0 2я996 K
vmnetdhcp.exe 2440 Services 0 3я700 K
BsHelpCS.exe 2920 Services 0 5я372 K
dwengine.exe 2956 Services 0 74я088 K
svchost.exe 2916 Services 0 5я276 K
alg.exe 3088 Services 0 4я732 K
dwnetfilter.exe 3204 Services 0 44я740 K
WUDFHost.exe 3432 Services 0 5я296 K
SearchIndexer.exe 3808 Services 0 70я684 K
atieclxx.exe 3160 Console 1 5я644 K
taskhost.exe 3508 Console 1 14я504 K
dwm.exe 1188 Console 1 6я148 K
explorer.exe 2588 Console 1 84я752 K
frwl_notify.exe 1036 Console 1 6я412 K
spideragent.exe 1892 Console 1 10я616 K
TrueCrypt.exe 2108 Console 1 5я728 K
wmpnetwk.exe 3908 Services 0 9я416 K
sidebar.exe 3052 Console 1 310я756 K
jusched.exe 1852 Console 1 10я960 K
iTunesHelper.exe 988 Console 1 9я884 K
TBNotifier.exe 3860 Console 1 15я824 K
iPodService.exe 4344 Services 0 7я080 K
svchost.exe 4480 Services 0 7я476 K
ielowutil.exe 4836 Console 1 528 K
OSPPSVC.EXE 5680 Services 0 12я108 K
ApplePhotoStreams.exe 2840 Console 1 9я508 K
BtTray.exe 440 Console 1 10я304 K
chrome.exe 6468 Console 1 268я604 K
chrome.exe 3832 Console 1 123я252 K
chrome.exe 7852 Console 1 7я772 K
chrome.exe 4508 Console 1 94я180 K
chrome.exe 6816 Console 1 8я420 K
chrome.exe 3540 Console 1 30я452 K
chrome.exe 4704 Console 1 67я356 K
chrome.exe 4668 Console 1 68я440 K
chrome.exe 8080 Console 1 114я728 K
chrome.exe 2684 Console 1 82я056 K
chrome.exe 9196 Console 1 56я692 K
csrss.exe 7064 3 13я184 K
winlogon.exe 6964 3 5я240 K
taskhost.exe 6988 3 14я208 K
rdpclip.exe 8360 3 5я492 K
dwm.exe 4816 3 5я340 K
explorer.exe 6260 3 47я012 K
frwl_notify.exe 3012 3 6я556 K
spideragent.exe 5840 3 10я384 K
jusched.exe 5492 3 11я932 K
iTunesHelper.exe 5224 3 9я228 K
TBNotifier.exe 3040 3 14я256 K
AAM Updates Notifier.exe 8012 3 2я896 K
csrss.exe 6212 RDP-Tcp#0 2 17я244 K
winlogon.exe 8296 RDP-Tcp#0 2 5я140 K
taskhost.exe 3392 RDP-Tcp#0 2 15я324 K
rdpclip.exe 5372 RDP-Tcp#0 2 6я752 K
dwm.exe 6744 RDP-Tcp#0 2 5я212 K
explorer.exe 5236 RDP-Tcp#0 2 91я296 K
spideragent.exe 5376 RDP-Tcp#0 2 10я496 K
iTunesHelper.exe 8428 RDP-Tcp#0 2 9я820 K
TBNotifier.exe 3952 RDP-Tcp#0 2 14я396 K
chrome.exe 10104 Console 1 38я912 K
uTorrent.exe 4356 Console 1 25я972 K
AAM Updates Notifier.exe 9408 RDP-Tcp#0 2 2я528 K
chrome.exe 9840 Console 1 93я144 K
chrome.exe 6220 Console 1 29я104 K
csrss.exe 9412 4 10я600 K
winlogon.exe 460 4 5я420 K
taskhost.exe 6204 4 13я944 K
rdpclip.exe 8792 4 6я180 K
dwm.exe 9732 4 5я192 K
explorer.exe 3732 4 68я688 K
frwl_notify.exe 10648 4 6я596 K
spideragent.exe 11096 4 10я448 K
jusched.exe 10256 4 10я524 K
iTunesHelper.exe 10912 4 9я624 K
TBNotifier.exe 9272 4 15я080 K
chrome.exe 6188 Console 1 56я888 K
AAM Updates Notifier.exe 10484 4 2я920 K
googletalkplugin.exe 5068 Console 1 12я684 K
chrome.exe 10496 Console 1 24я672 K
chrome.exe 10264 Console 1 25я180 K
chrome.exe 10132 Console 1 24я748 K
chrome.exe 9596 Console 1 66я768 K
chrome.exe 10728 Console 1 76я748 K
chrome.exe 12676 Console 1 34я612 K
iClient.exe 12552 Console 1 14я728 K
frwl_notify.exe 7572 RDP-Tcp#0 2 8я352 K
BtTray.exe 8988 RDP-Tcp#0 2 10я716 K
chrome.exe 12360 Console 1 63я524 K
firefox.exe 12924 RDP-Tcp#0 2 111я412 K
cmd.exe 18604 RDP-Tcp#0 2 124 K
cmd.exe 22464 RDP-Tcp#0 2 124 K
find.exe 24516 RDP-Tcp#0 2 120 K
cmd.exe 24524 RDP-Tcp#0 2 124 K
cmd.exe 22784 RDP-Tcp#0 2 124 K
find.exe 18024 RDP-Tcp#0 2 120 K
cmd.exe 24508 RDP-Tcp#0 2 124 K
chrome.exe 21136 Console 1 43я200 K
vnc_scanner_gui.exe 15704 4 10я024 K
GoogleChromePortable.exe 22856 3 6я796 K
chrome.exe 26180 3 150я724 K
chrome.exe 7808 3 110я544 K
chrome.exe 6452 3 19я212 K
chrome.exe 22456 3 7я152 K
rundll32.exe 19752 3 6я508 K
chrome.exe 20512 3 90я740 K
cmd.exe 29396 4 3я764 K
conhost.exe 25676 4 4я732 K
chrome.exe 25832 3 94я992 K
Totalcmd.exe 30280 RDP-Tcp#0 2 27я856 K
svchost.exe 26064 Services 0 4я708 K
cmd.exe 23356 RDP-Tcp#0 2 7я076 K
conhost.exe 22012 RDP-Tcp#0 2 5я468 K
audiodg.exe 7364 Services 0 18я768 K
vnc.exe 14072 4 20я804 K
SearchProtocolHost.exe 22540 Services 0 7я684 K
ProjectMaker.exe 18344 RDP-Tcp#0 2 325я176 K
WmiPrvSE.exe 18280 Services 0 9я572 K
ResourceDownloader.exe 26024 RDP-Tcp#0 2 40я980 K
SearchFilterHost.exe 14648 Services 0 6я844 K
msfeedssync.exe 24556 Console 1 5я516 K
cmd.exe 5444 RDP-Tcp#0 2 7я044 K
conhost.exe 29156 RDP-Tcp#0 2 4я452 K
cmd.exe 20464 RDP-Tcp#0 2 7я156 K
conhost.exe 12784 RDP-Tcp#0 2 4я756 K
tasklist.exe 27700 RDP-Tcp#0 2 8я672 K



В данном случае это 5444.
Как это сделать ума не преложу... Я к сожалению не программист.
У меня только получилось написать регулярку под выдергивание всех PIDов cmd.exe, которые потом засунул в массив(список) на обработку.
(?<=cmd\.exe\s+)\d+


Ну или какой нибудь третий вариант, как мне выдернуть предпоследний номер процесса 5444 ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 339
Благодарностей
9 088
Баллы
113
а в js-экшене выполнить отнятие единицы и переменную с результатом вставить в экшен Получить строку?
http://clip2net.com/s/5NMNpM
 
  • Спасибо
Реакции: kodzero

kodzero

Client
Регистрация
13.02.2013
Сообщения
91
Благодарностей
7
Баллы
8
Может что-то не так сделал или не так понимаю, в общем тоже ошибка:
Выполнение действия List Ошибка при обработке списка
df76d95d6aff.jpg

Он походу вообще не понимает и не видит, что это локальная переменная, а может и видит, точно не знаю, но в любом случае с прописанной переменной от js ошибка.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 339
Благодарностей
9 088
Баллы
113
http://clip2net.com/s/5NU5BZ
в экшене обрамленном пунктиром красным есть какая то ошибка заполнения данных..
проверьте его..

только что попробовал накропать тестовый шаблон аналогичный вашему - отрабатывает ок..
вот он:
 

Вложения

  • 18,6 КБ Просмотры: 241
  • Спасибо
Реакции: kodzero

СТЕПАН

Moderator
Регистрация
17.03.2013
Сообщения
951
Благодарностей
353
Баллы
63
sergodjan66, 1) не лучше ли делать с удаление поочередно брать первую строку?

http://joxi.ru/_rY_Utg5CbDSWH7vh3Q

Хотя и так все работает перезагрузи ПМ
 
  • Спасибо
Реакции: kodzero

kodzero

Client
Регистрация
13.02.2013
Сообщения
91
Благодарностей
7
Баллы
8
http://clip2net.com/s/5NU5BZ
в экшене обрамленном пунктиром красным есть какая то ошибка заполнения данных..
проверьте его..

только что попробовал накропать тестовый шаблон аналогичный вашему - отрабатывает ок..
вот он:
Да разобрался и нашел в чем был смысл в данной ошибке. Язык программирование начинает отсчет от 0, а отсчет строк от 1, поэтому если просто сразу вставить переменную, то она выходит за пределы видимости на эту 1. Ну и по запаре запутался и начудил лишнего. Так как переменная и любое арифметическое действие с ней в данном поле не работает, то можно эту задачу решить через js, результат(в виде переменной), которой можно подставить в это поле.

Ну я с утра решил задачу другим способом, весь спарсенный текст с терминала windows обработал через "Обработку текста" - "Подготовка Java script", для того чтобы избавиться от переводов строк. Другие способы, трим, обработка текста и попытки удалить перевод строки "\n" или возврат каретки "\r" превращают данный текст почему то в нечитабельный вид... Только после "Подготовка Java script" удалились все пробелы, весь текст получилось засунуть в одну переменную и вытянуть нужное значение регуляркой, которую составил - (?<=cmd\.exe\s+)\d+(?=\ .*cmd\.exe\s+.*\#0).


sergodjan66, 1) не лучше ли делать с удаление поочередно брать первую строку?
Предполагаю, что будет нереально большая нагрузка и будет долго выполняться по времени, так как на моем ПК количество рабочих процессов будет достигать 50 штук, а то и больше, тоесть чтобы пробежать по ним в таком цикле то это получается данную цифру возвести в квадрат.

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

Всем огромное спасибо за участи, очень помогли ^_^


P.S. Оказывается, еще есть операции над списком, объединить эллементы списка, не заметил этого раньше.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)