![]() |
Удаление Opera из неизвестного текущего профиля
Добрый день.
На ПК установлена Opera, не известно из какого профиля. Подскажите пожалуйста как перебрать все профили, чтобы отработал скрипт удаления в том профиле из какого был установлен браузер? на примере IvanovII. Командная строка удаления выглядит так: C:\Users\IvanovII\AppData\Local\Programs\Opera\Launcher.exe" /uninstall /silent Написал CMD: : Удаление процесса Opera taskkill /F /IM opera.exe cd "C:\Users\" for /f %%d in ('dir /B *') do ( set Profile=%%d ) %Profile%\AppData\Local\Programs\Opera\Launcher.exe /uninstall /silent Происходит следующее выполнение: C:\Windows\System32>cd "C:\Users\" C:\Users>for /F %d in ('dir /B *') do (set Profile=%d ) C:\Users>(set Profile=auditor ) C:\Users>(set Profile=gendir ) C:\Users>(set Profile=IvanovII ) C:\Users>(set Profile=Public ) C:\Users>(set Profile=User ) C:\Users>User\AppData\Local\Programs\Opera\Launcher.exe /uninstall /silent Системе не удается найти указанный путь. C:\Users>pause Для продолжения нажмите любую клавишу . . . Где допущена ошибка? |
Если Вам требуется просто сформировать строку удаления, то можно попробовать вот таким способом:
Код:
@echo off |
А возможно, чтобы скрипт перебрал все пути, ну и там, где присутствует Launcher.exe, подставился путь и произошло удаление?
|
Можете добавить проверку:
Код:
IF EXIST |
Powershell v5:
Код:
#Requires -RunAsAdministrator |
Спасибо большое.
А это реализуемо через cmd? Подскажите еще пожалуйста, как скопировать папку в %appdata% во все профили, за исключением системных? |
Наверняка реализуемо, но зачем?
Если у вас есть домен, всеми этими задачами лучше заниматься через групповые политики. |
Стоит задача через cmd, отсюда и такие танцы.
И копирование должно по требованию осуществляться, а не при заходе в систему. |
|
Ребята, большое спасибо за помощь!
С копированием разобрался. for /f "delims=" %%a in ('dir/b/ad-h "%userprofile%\..\*"^|findstr/ixvc:"All Users"') do ( xcopy /q/s/y/r/h "\\share\TEST\*" "%userprofile%\..\%%a\AppData\Roaming\TEST\" ) Помогите пожалуйста, не могу разобраться, где допустил ошибку: for /f "delims=" %%a in ('dir/b/ad-h "%userprofile%\..\*"^|findstr/ixvc:"All Users"') do ( "%~dp0Settings\RAR.exe" x -u -y "%~dp0Settings\Skript.rar" "%userprofile%\..\%%a\AppData\Roaming\Local\" ) Все это дело распаковывается: В профиль, из которого запущен батник: c:\users\IvanovII\auditor c:\users\IvanovII\gendir c:\users\IvanovII\Public c:\users\IvanovII\User c:\users\IvanovII\IvanovII И как еще исключить Public? |
Цитата:
|
Цитата:
Не могу понять, где ошибка: почему все распаковывается в текущий профиль, создавая папки профилей, а при том же сценарии, копируется в папки профилей. |
Цитата:
|
Цитата:
Код:
for /f "delims=" %%a in ('dir/b/ad-h "%userprofile%\..\*"^|findstr/ixvc:"All Users" /C:"Public"') do ( UPD: Поправил путь куда извлекать на: "c:\users\\..\%%a\AppData\Local\" и все получилось. Коллеги, большое спасибо! |
Время: 17:03. |
Время: 17:03.
© OSzone.net 2001-