Я знаю, что есть и другие темы на здесь с одинаковой целью, но не думаю, что есть один в формате файл пакетного так что здесь идет:Удаления Родителя реестр на основе значения
Я сделал простой запрос рег в пакете, найти раздел реестра, содержащий профиль пользователя.
set /p username= please enter the user name ?
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /f "C:\users\%username%" /d /s /e
это находит точный ключ я ищу что
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList \ S-1-5-21-1908996837-4138030977- 3423296585-49875
затем я хочу, чтобы удалить этот ключ и все, что в нем, но вывод команды рег запроса, на самом деле дает 3 разные результаты, что делает его трудным для меня, чтобы использовать в течение петля.
Вот что он на самом деле выводит в текстовый файл
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList \ S-1-5-21-1908996837-4138030977-3423296585-49875
ПрофильImagePath REG_EXPAND_SZ C: \ Users \ Mr Smith
Конец поиска: найдено 1 совпадений.
Так что следующая строка у меня есть цикл, который, очевидно, основываясь на выходе выше команды, не совсем делать то, что я хочу
for /F %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /f "C:\users\%username%" /d /s /e') do reg delete %%a /f
Таким образом, конечная цель состоит в том, чтобы выполнить это
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-1908996837-4138030977-3423296585-49875" /va /f
, но, очевидно, не зная, что и ввод в полном имени ключа
Благодарности
Во-первых, используйте переменную, отличную от '% username%'. Это зарезервированная переменная, содержащая имя пользователя текущего пользователя. Далее, это меня заставляет нервничать. В HKU и каталогах в C: \ Users вы оставите группу сиротских профилей. Лучше всего использовать диалог, полученный из 'rundll32.exe sysdm.cpl, EditUserProfiles', чтобы удалить профили пользователей. – rojo
спасибо за подсказку rojo, я использовал только это имя переменной для удобства примера здесь, но хороший момент. Так можно ли каким-либо образом установить переменную как имя учетной записи пользователя, а затем перенаправить эту переменную в диалог edituserprofiles? Другими словами, не нужно вообще использовать диалог и сделать это автоматически? –