kww
Новый пользователь
- Сообщения
- 16
- Реакции
- 2
Во время переустановки винды, я удалил только старые разделы винды (системный раздел, зарезервированный раздел и раздел ESP). То есть остальные остались как есть. Теперь, впрочем, как и обычно, я стал для тех дисков никем, какие-то файлы принадлежат группе администраторов, поэтому я вроде как могу с ними чё-то делать, а какие-то принадлежат пользователю с прошлой установки.
Мне пришла "интересная" идея скриптом рекурсивно завладеть всеми файлами, которыми владеет S-1-5-21-449789199-987631865-2024635987-1001 (старый пользователь), и также выдать права на полный доступ. Я попросил чат гпт сделать для меня bat скрипт для этого, но потом я вспомнил одни случай и засомневался, поможет ли это мне...
[CODE lang="batch" title="Вот это он (я подправил его, так как там с синтаксисом takeown что-то не так было)"]@echo off
:: Если не закомментировать эту строку, то все файлы с восклицательным знаком кидают ошибку
::setlocal enabledelayedexpansion
rem Set the current user
set "currentuser=%USERNAME%"
rem Set the directory path
set "directory=%~dp0"
rem Cycle through all files recursively in the directory
for /r "%directory%" %%a in (*) do (
rem Check the owner of the file
for /f "tokens=2 delims=:" %%b in ('icacls "%%a" ^| findstr "S-1-5-21-449789199-987631865-2024635987-1001"') do (
rem Replace the owner with the current user
:: Это предложил гпт и оно не работает
::takeown /F "%%a" /U %currentuser% /A /R /D Y
:: А этого вроде как должно хватить
takeown /F "%%a"
icacls "%%a" /setowner %currentuser% /T
)
)
echo Ownership changed successfully.
pause[/CODE]
Была папка на рабочем столе, она принадлежала так же тому пользователю, я её пытался удалить - винда пишет "запросите разрешение от Администраторы". Я сделал себя её владельцем, выдал права на полный доступ и при повторной попытке удаления мне пишет "запросите разрешение от DESKTOP-NASRAL\kww" (моё имя пользователя). Не помню уже, как я с ней разобрался, может выключил наследование разрешений для этой папки и тогда смог удалить...
Так вот, правильно ли я придумал насчёт скрипта или есть вариант получше?
Ещё я пробовал на всякий случай сохранить права в файл командой
Но в таком случае мне выдавало ошибки на очень длинные имена, наподобие
Это натолкнуло меня на мысль, что этот цикл может не сработать на супер-длинные пути...
Мне пришла "интересная" идея скриптом рекурсивно завладеть всеми файлами, которыми владеет S-1-5-21-449789199-987631865-2024635987-1001 (старый пользователь), и также выдать права на полный доступ. Я попросил чат гпт сделать для меня bat скрипт для этого, но потом я вспомнил одни случай и засомневался, поможет ли это мне...
[CODE lang="batch" title="Вот это он (я подправил его, так как там с синтаксисом takeown что-то не так было)"]@echo off
:: Если не закомментировать эту строку, то все файлы с восклицательным знаком кидают ошибку
::setlocal enabledelayedexpansion
rem Set the current user
set "currentuser=%USERNAME%"
rem Set the directory path
set "directory=%~dp0"
rem Cycle through all files recursively in the directory
for /r "%directory%" %%a in (*) do (
rem Check the owner of the file
for /f "tokens=2 delims=:" %%b in ('icacls "%%a" ^| findstr "S-1-5-21-449789199-987631865-2024635987-1001"') do (
rem Replace the owner with the current user
:: Это предложил гпт и оно не работает
::takeown /F "%%a" /U %currentuser% /A /R /D Y
:: А этого вроде как должно хватить
takeown /F "%%a"
icacls "%%a" /setowner %currentuser% /T
)
)
echo Ownership changed successfully.
pause[/CODE]
Была папка на рабочем столе, она принадлежала так же тому пользователю, я её пытался удалить - винда пишет "запросите разрешение от Администраторы". Я сделал себя её владельцем, выдал права на полный доступ и при повторной попытке удаления мне пишет "запросите разрешение от DESKTOP-NASRAL\kww" (моё имя пользователя). Не помню уже, как я с ней разобрался, может выключил наследование разрешений для этой папки и тогда смог удалить...
Так вот, правильно ли я придумал насчёт скрипта или есть вариант получше?
Ещё я пробовал на всякий случай сохранить права в файл командой
Код:
icacls D:\ /save d:\aclbkp.txt /T /C /Q
Код:
D:\suction\ideaIU-2022.1.4.win\.IntelliJIdea\system\index\shared_indexes\shared.index.hashes.org.jetbrains.kotlin.idea.vfilefinder.KotlinPackageSourcesMemberNamesIndex\shared.index.hashes.org.jetbrains.kotlin.idea.vfilefinder.KotlinPackageSourcesMemberNamesIndex_storage.storage.keystream.len: Системе не удается найти указанный путь.
Последнее редактирование: