Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Завершение процесса в Диспетчере задач с символом ℗ в конце имени

Ответить
Настройки темы
VBS/WSH/JS - [решено] Завершение процесса в Диспетчере задач с символом ℗ в конце имени

Аватара для BKPB

Старожил


Сообщения: 172
Благодарности: 6

Профиль | Отправить PM | Цитировать


Есть программы типа Portable, то есть распаковываются в папку TEMP \RarSFX и оттуда работают,
но иногда после закрытия программы они продолжают висеть в Диспетчере задач,
а иногда если одну и туже программу запустить несколько раз, например 2 раза и закрыть оба раза,
то в Диспетчере задач остаются висеть уже 2 процесса с одинаковым именем и не завершаются пока
не закроешь их вручную. Всё бы это ничего, но когда пытаюсь удалить файл с которым работала эта программа
его невозможно удалить пока не завершишь процесс с именем этой программы.
Перезагрузка Explorer.exe не помогает.
Все программы имеют в конце имени символ ℗, это так я обозначаю портативные программы.
Что нужно.
Возможно ли создать скрипт, который бы завершал все процессы в Диспетчере задач имеющие в конце имени этот символ ℗.

Отправлено: 16:35, 14-02-2018

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Очень не советую связываться со спецсимволами в подобных случаях, добавили бы лучше слово portable в конце.

Попробуйте вот это (Powershell от админа):
Код: Выделить весь код
stop-process *℗ -force

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 16:46, 14-02-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для BKPB

Старожил


Сообщения: 172
Благодарности: 6

Профиль | Отправить PM | Цитировать


Нет мне нужен именно скрипт, я хочу закрепить ссылку на него в контекстном меню и запускать при необходимости.

Отправлено: 16:51, 14-02-2018 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Ну сохраните его как скрипт, кто мешает? Расширение .ps1.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 16:53, 14-02-2018 | #4


Аватара для BKPB

Старожил


Сообщения: 172
Благодарности: 6

Профиль | Отправить PM | Цитировать


А не поможете сделать на подобии такого скрипта:
Скрытый текст
Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
' Если скрипт запущен с каким-то параметром, то...
If WScript.Arguments.Count>0 Then
' Проверяем значение в реестре и в зависимости от него либо отображаем расширения, либо наоборот скрываем.
If WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt") = 0 then
' Скрываем расширения
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", "1", "REG_DWORD"
' Добавляем пункт в контекстное меню
' В поле command прописываем путь до текущего скрипта с параметром (не важно каким, главное, чтобы он был), чтобы..
' ..скрипт понял, что ему нужно не удалить ветку реестра, а изменить
WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\HideFileExt\", "Показать расширения", "REG_SZ"
WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\HideFileExt\command\", "WScript.exe """&WScript.ScriptFullName&""" -argument", "REG_SZ"
' Обновляем окно эксплорера, чтобы увидеть результат
WSHShell.SendKeys "{F5}"
Else
' Показываем расширения
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", "0", "REG_DWORD"
' Добавляем пункт в контекстное меню
WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\HideFileExt\", "Скрыть расширения", "REG_SZ"
WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\HideFileExt\command\", "WScript.exe """&WScript.ScriptFullName&""" -argument", "REG_SZ"
' Обновляем окно эксплорера, чтобы увидеть результат
WSHShell.SendKeys "{F5}"
End If
Else
' Если запись в реестре есть, то удаляем наш раздел
If WSHShell.Run("cmd.exe /C REG QUERY ""HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\HideFileExt""", 0, True)=0 Then
WSHShell.Run "cmd /C REG DELETE ""HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\HideFileExt"" /f", 0
Else
' Иначе запускаем этот скрипт с параметром (какой параметр - значения не имеет, главное его наличие)
WSHShell.Run """"&WScript.ScriptFullName&""" -argument"
' И ещё добавим иконочку для красоты
WSHShell.RegWrite "HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell\HideFileExt\Icon", "%SystemRoot%\System32\shell32.dll,69", "REG_SZ"
End If
End if
Set WSHShell = Nothing
WScript.Quit(0)

Отправлено: 16:56, 14-02-2018 | #5


Аватара для BKPB

Старожил


Сообщения: 172
Благодарности: 6

Профиль | Отправить PM | Цитировать


Что то не срабатывает:
Так тоже: stop-process *℗.exe -force
Так как процесс называется Axialis Icon 6.9.1.0 ℗.exe
Скрытый текст
stop-process : He удается привязать параметр "InputObject'.
He удается преобразовать значение "*0" типа "System.string" в тип "System.Diagnostics.Process".
строка:1 знак:14
+ stop-process *0 -force
+
+ Categorylnto : InvalidArgument: ( : ) [.Stop-Process], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.StopProcessCommand

Последний раз редактировалось BKPB, 14-02-2018 в 17:59.


Отправлено: 17:42, 14-02-2018 | #6


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Хорошо, а если так?
Код: Выделить весь код
stop-process *$([char]0x2117) -force

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 20:00, 14-02-2018 | #7


Аватара для Казбек

Ветеран


Сообщения: 5380
Благодарности: 1874

Профиль | Отправить PM | Цитировать


Можно так в командной строке:
Код: Выделить весь код
wmic Path win32_process Where "name like '%%℗%%'" CALL Terminate
Но из скрипта это не сработает для ℗. Короче, хотите скрипт - не используйте этот символ, тем более, что вы еще и используете его неправильно: ℗ - Sound recording copyright symbol.

-------
Кто реку перешел, тому росы бояться ни к чему


Отправлено: 20:13, 14-02-2018 | #8

x0r x0r вне форума

Забанен


Сообщения: 795
Благодарности: 137

Профиль | Цитировать


Цитата DJ Mogarych:
Очень не советую связываться со спецсимволами в подобных случаях, добавили бы лучше слово portable в конце. »
+1

Отправлено: 20:23, 14-02-2018 | #9


Аватара для BKPB

Старожил


Сообщения: 172
Благодарности: 6

Профиль | Отправить PM | Цитировать


Казбек, Сработало хорошо.
А можно это выполнить с помощью батника?
И если можно, как дописать в него ещё и перезапуск dllhost.exe

x0r, Слишком длинные получаются имена и половина имени не видно.
Я люблю когда имя отображается полностью на рабочем столе и в папках.

Последний раз редактировалось BKPB, 14-02-2018 в 20:37.


Отправлено: 20:30, 14-02-2018 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Завершение процесса в Диспетчере задач с символом ℗ в конце имени

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Мониторинг процесса в диспетчере задач и запуск его в случае отсутствия yago Скриптовые языки администрирования Windows 43 21-11-2021 23:53
Разное - Диспетчер задач. Завершение процесса без подтверждения. напильник Microsoft Windows 7 0 29-06-2016 07:09
Разное - Завершение процесса от имени SYSTEM — отказ в доступе salikoff Microsoft Windows 8 и 8.1 6 08-11-2015 15:08
CMD/BAT - [решено] Проверка наличия процесса в диспетчере задач V!RTuE Скриптовые языки администрирования Windows 10 01-09-2014 00:37
[решено] Проверка наличия процесса в Диспетчере задач Hawk37 AutoIt 1 05-03-2010 16:37




 
Переход