Как завершить все процессы svchost, кроме системных?
Ну типа они все системные.
Просканируйте систему антивирусом. DrWeb CureIt или там KVRT, это поможет.
Думаю что одной командой тут не обойтись.
Можно получить список запущенных svchost с PIDами и путем, затем отфильтровать его, убрав те, которые лежат в %SystemRoot%\System32. После этого уже можно прибивать оставшиеся в списке процессы по PIDу из списка.
tasklist полный путь не выводит. Полный путь можно получить с помощью:wmic process where "name='svchost.exe'" get Name,ProcessID,ExecutablePath
Правда для большей части запущенных у меня svchostов эта команда так же не дает полный путь в ExecutablePath (Win10 x64), предполагаю, что это какие-то вторичные порожденные процессы.