PDA

Показать полную графическую версию : [решено] Как получить права на папку\файл в Windows Seven через батник?


Pozia
06-12-2009, 19:23
Есть такой вот твик:


Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="Стать владельцем и задать полный доступ к объекту"
"Extended"=""
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="Стать владельцем и задать полный доступ к объекту"
"Extended"=""
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"

Он дает права на выбранную папку или файл в Seven. Может можно как то автоматизировать этот процесс через батник для заранее заданной папки или файла? Помогите кто знает пожалуйста.

Ingolder
06-12-2009, 21:05
А чего тут непонятного, команду то вы сами написали. Можно сделать такой же бантик, будет делать то же самое для директории, в которой он лежит (и всех поддиректорий):
cd %~dp0
cmd.exe /c takeown /f "%CD%" /r /d y && icacls "%CD%" /grant Administrators:F /t


или если хотите в ручную просто напишите в команднойстроке или в бантике одну строчку:
cmd.exe /c takeown /f "ваша директория" /r /d y && icacls "ваша директория" /grant Administrators:F /t


вот и всё

Pozia
06-12-2009, 23:05
А чего тут непонятного »
ну знаете... ))) я в командной строке только азы знаю )
То что вы предложили ща попробую

Pozia
08-12-2009, 00:08
Ingolder, первый код работает а второй нет. Делал так:

cmd.exe /c takeown /f "d:\WindowsSeven\00_SevenWork\Mount\Windows\notepad.exe" /r /d y && icacls "d:\WindowsSeven\00_SevenWork\Mount\Windows\notepad.exe" /grant Administrators:F /t

а мне нужен именно второй код

Ingolder
08-12-2009, 09:44
собственно, я тоже ещё ламер :)

по всей видимости, ему не нравиться то, что вы ему суёте файл, а в команде takeown параметры /r и /d предназначены для папок (рекурсивное выполнение команды по подпапкам и ответ по умолчанию). поэтому надо писать без них.

собственно если вы пишете батник то cmd.exe /c можно не писать. Параметр /c закрывает окно после выполнения команд, а батник и так закрывается сам.
итого:


takeown /f "d:\WindowsSeven\00_SevenWork\Mount\Windows\notepad.exe" && icacls "d:\WindowsSeven\00_SevenWork\Mount\Windows\notepad.exe" /grant Administrators:F /t

Pozia
08-12-2009, 11:56
теперь заработало. только написало что параметр /ta не нужен. Но этой командой как выяснилось я только становлюсь владельцем файла, а как открыть полный доступ для меня на файл?

Ingolder
08-12-2009, 18:50
ошибся, простите, ошибку исправил. изначально там был параметр /t, просто опечатался.
он тоже в вашем случае собственно не нужен - он показывает подтверждение выполнения операции во всех вложенных папках.

Pozia
08-12-2009, 21:47
Ingolder, спасибо за помощь. я проблему решил для себя с помощью этой (http://forum.oszone.net/thread-151734.html) темы




© OSzone.net 2001-2012