2010-12-06 21:54:08 +0000 2010-12-06 21:54:08 +0000
51
51

Как открыть файл для редактирования в режиме администратора?

У меня в Блокноте установлен набор .config-файлов для открытия в Notepad++. Файлы, которые я редактирую, обычно находятся в защищённых местах (например, c:\windows\, c:\program файлы… и т.д.), что требует доступа администратора.

Я хотел бы иметь возможность сделать двойной щелчок на .config файле и открыть Блокнот++ с правами администратора. Это нормально, если появится подсказка UAC.

Есть ли способ сделать это?

Ответы (11)

54
54
54
2010-12-06 21:59:56 +0000

Лучше всего сразу перейти в папку, в которую установлен Notepad++ (Program Files for 32 bit Windows и Program Files(x86) for 64 bit Windows), там найти исполняемый файл Notepad++, щелкнуть на нем правой кнопкой мыши и выбрать пункт Compatibility (Совместимость), а внизу поставить галочку напротив пункта Run as administrator (Запустить от имени администратора).

Это заставит ваше приложение всегда всплывать с предупреждением UAC, но у вас всегда будет возможность редактировать от имени администратора.

Удачи!

EDIT: Найдено эта статья , которая позволяет вам создать ярлык без запуска подсказки UAC. Технически он подходит для Windows 10, но должен работать так же на Win7+.

19
19
19
2012-08-31 10:15:27 +0000

Я обнаружил, что поиск программы-редактора (например, Notepad++) в меню Start, а затем ввод Ctrl+Shift+Enter позволяет запустить программу от имени администратора.

Затем вы должны иметь возможность открыть и отредактировать файл, требующий повышенного приватности.

11
11
11
2010-12-06 22:10:52 +0000

В качестве улучшения по сравнению с @Askeli’s answer , вы можете сначала сделать копию исполняемого файла блокнота++ (Назовите его что-нибудь вроде NotepadUAC). Затем установите режим совместимости в свойствах вашей копии, чтобы потребоваться режим администратора, как предлагает Аскели. Теперь вы также должны иметь возможность настроить открытие .config-файлов с помощью копии, а не оригинала.

Преимущество здесь заключается в том, что при открытии файлов с оригинальным (по умолчанию) Блокнотом++ .exe вы не увидите подсказку UAC. Недостаток в том, что эта копия не обязательно будет поддерживать себя в актуальном состоянии так же, как оригинальная, и в конце концов может вызвать проблемы с несовпадающими .dll или конфигурационными версиями. Но всегда достаточно просто удалить/переустановить, если это произойдёт.

10
10
10
2010-12-07 05:14:49 +0000

Моим решением было вставить Блокнот++ в панель задач. Когда он мне нужен для редактирования системных файлов, я нажимаю на него правой кнопкой мыши, нажимаю “Блокнот++” и нажимаю “Запустить от имени администратора”.

Остальные решения, изменяющие ярлык или делающие его копии, подойдут, если вы постоянно редактируете системные файлы. Я использую Notepad++ ежедневно, но я не связываюсь с защищёнными файлами каждый день.

6
6
6
2014-11-04 16:01:38 +0000

Это было недоступно, когда исходный вопрос был опубликован в 2010 году, но начиная с 2012 года - лучший ответ** (по крайней мере, как я его считаю):

Установка nppSaveAsAsAdmin:

Из http://sourceforge.net/projects/nppsaveasadmin :

Этот плагин позволяет сохранять любой файл в качестве администратора. Просто нажмите “Save” (Сохранить) в Блокноте++ и если вы не можете изменить этот файл как пользователь, Блокнот++ сохранит его как администратор. Поддерживаются Windows XP, Windows Vista, Windows 7, Windows 8.

Плагин “Сохранить как администратор” доступен для быстрой и простой установки из Блокнота++ Менеджера Плагинов. (Плагины / Менеджер плагинов / Показывать менеджер плагинов / Доступно. Установите флажок “Сохранить как админ”, нажмите “Установить”). Блокнот

Блокнот++ будет продолжать работать как обычно, и без необходимости запуска с полными административными маркерами UAC. Однако, если Блокнот++ увидит, что вы пытаетесь сохранить файл, к которому вам иначе не разрешен доступ, он воркнет NppAdminAccess.exe (отобразит запрос UAC). Просто нажмите “Yes”, и ваш файл будет сохранен с административными привилегиями.

2
2
2
2012-12-31 20:24:09 +0000
  1. Сделайте копию .exe вашего текстового редактора в ту же папку с файлами программы и добавьте “Admin” или аналогичное имя.
  2. Щелкните правой кнопкой мыши на новом exe -> Свойства -> Совместимость -> Уровень привилегий -> Установите флажок “Запустить эту программу от имени администратора”
  3. Создайте ярлык для этого exe на рабочем столе / панели задач / меню запуска
  4. Перетащите текстовый файл, который вы хотите отредактировать от имени администратора (или ярлык на один из них) в этот ярлык

Это самый простой / наиболее гибкий способ, который я нашел для этого, когда мне нужно редактировать файл hosts для веб-разработки. Конечно, если вы хотите просто открыть все файлы одного расширения в качестве администратора, по предложению Джоэла, вы можете просто использовать “открыть с…”. -> “Выберите программу по умолчанию” в созданной вами копии.

1
1
1
2013-10-23 11:04:56 +0000

Лучший способ - установить Блокнот++ для работы от имени администратора. Проблема заключается в том, что он разбивает опцию “Правый клик”. Поэтому я сделал замену опции правой кнопки мыши, которая удаляет старую. Хорошая часть моего исправления заключается в том, что я добавил его в настройку каталога в реестре. Так что теперь вы можете щелкнуть правой кнопкой мыши по папке и выбрать Edit (Редактировать) с помощью Notepad++ , и он откроет все файлы в Notepad++ :). Я много занимаюсь программированием на VBScript. Это позволяет мне легко редактировать все мои файлы, внося глобальные изменения, когда я придумываю новый метод делать что-то или изменять объект.

Мой VBScript делает резервную копию ключей реестра, прежде чем изменять их. Он не устанавливает Блокнот++ в качестве администратора, поэтому вы должны сделать это, щелкнув правой кнопкой мыши на исполняемом файле Блокнот++ и изменив его для запуска от имени администратора. Я начинаю исследовать, как сделать это запуском от имени администратора. Когда я придумаю это, я отредактирую свой пост, так что у вас появится возможность редактировать как администратор или редактировать нормально.

'==========================================================================================
' NAME: New-OpenWithNotepad++(WinVista7).vbs
' EDITED: Kevin Dondrea , Gordos-Dondrea Enterprises and Foundation
' DATE : 8/12/2012
' COMMENT: This script Exports Registry keys and replaced Notepad++ Right Click options.
' Works with Windows Vista and 7. Also works for restricted Win XP accounts.
' WEB LINK:  
'==========================================================================================

Option Explicit

' =============== START ADD ADMIN RIGHTS ===============
' This adds the Admin Run Function for Windows Vista and 7
' You must put this at the top below computer and End If at the
' very end of the script
If WScript.Arguments.length = 0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "WScript.exe", """" & _
WScript.ScriptFullName & """" &_
" RunAsAdministrator", , "runas", 1
Else
' Do not forget to add End If at the end of the script
' =============== END ADD ADMIN RIGHTS ===============

On Error Resume Next

' =============== START CONSTANT VARIABLES ===============
Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003
' =============== END CONSTANT VARIABLES ===============

' =============== START DIM VARIABLES ===============
Dim objFSO, objWrite2File, objShell, objReg, objRegistry, objWshShell
Dim strDate, strTime, strTime2, strFileName, strOpenFile
Dim strComputer, strCommand, strHostName, strUserName
Dim intRC, strKeyPath, strValueName, strValue
' =============== END DIM VARIABLES ===============

' --------------------------------------------------------------------------

' =============== START COMPUTER NAME, TIME and DATE ===============
strComputer = "."

' Reads registry for Computer Name
Set objShell = CreateObject("WScript.Shell")
' Edit or Add with Registrry Object
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" & _ 
strComputer & "\root\default:StdRegProv")

' Same as above but used only to delete registry key
Set objRegistry=GetObject("winmgmts:\" & _ 
strComputer & "\root\default:StdRegProv")

strHostName = objShell.RegRead ("HKLM\SYSTEM\CurrentControlSet\Services\" & _
        "Tcpip\Parameters\Hostname")
strUserName = objShell.RegRead ("HKLM\SOFTWARE\Microsoft\Windows NT\" & _
        "CurrentVersion\Winlogon\DefaultUserName")

' Retreives Date and Time
strTime = Right("0" & Hour(now()), 2) & Right("00" & _ 
    Minute(Now()), 2) & Second(Now())
strTime2 = Right("0" & Hour(now()), 2) & ":" & Right("00" & ":" & _ 
    Minute(Now()), 2) & ":" & Second(Now())
strDate = Right("0" & Month(now()), 2) & "-" & Right("00" & _ 
    Day(Now()), 2) & "-" & Year(Now())
' -----------------------------------------------------------

' =============== START BACKUP OF REGISTRY KEYS USED FOR ===============

' Original Command
' strCommand = "regedit /e <FilePath> <RegKey>"

' Local Machine ......
strCommand = "regedit /e " & strHostName & "-" & strDate & "-" & _ 
strTime & "-BackupLM-Notepad++.reg " & _ 
"""HKEY_LOCAL_MACHINE\SOFTWARE\Classes" & _ 
"\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}"""

Set objWshShell = WScript.CreateObject("WScript.Shell")
intRC = objWshShell.Run(strCommand, 0, TRUE)
If intRC <> 0 then
 WScript.Echo "Error returned from exporting Registry: " & intRC
Else
 WScript.Echo "No errors returned from exporting the Registry file"
End If
' =============== END BACKUP OF REGISTRY KEYS USED FOR ===============

' -----------------------------------------------------------

' =============== START NEW OPEN * SHELL COMMAND ===============
' Name of Registry Entry Key\Path
strKeyPath = "*\shell\Edit With Notepad++\command"
objReg.CreateKey HKEY_CLASSES_ROOT,strKeyPath

' Name of Registry Entry String
strValueName = ""
strValue = "C:\progra~1\notepad++\notepad++.exe %1"
objReg.SetStringValue HKEY_CLASSES_ROOT,strKeyPath,NULL,strValue

' =============== START NEW OPEN DIRECTORY SHELL COMMAND ===============
' Name of Registry Entry Key\Path
strKeyPath = "Directory\shell\Edit With Notepad++\command"
objReg.CreateKey HKEY_CLASSES_ROOT,strKeyPath

' Name of Registry Entry String
strValueName = ""
strValue = "C:\progra~1\notepad++\notepad++.exe %1"
objReg.SetStringValue HKEY_CLASSES_ROOT,strKeyPath,NULL,strValue

' -----------------------------------------------------------

strKeyPath = "*\shellex\ContextMenuHandlers\ANotepad++"
objRegistry.DeleteKey HKEY_CLASSES_ROOT,strKeyPath

strKeyPath = "SOFTWARE\Classes\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\Settings"
objRegistry.DeleteKey HKEY_LOCAL_MACHINE,strKeyPath

' Ending Message
MsgBox"Notepad++ Right-Click Settings" & VbCrLf & _
"Have Been Created", ,"Click OK To Close Window"

' Cleans up Variables From Memory
Set objFSO = Nothing
Set objWrite2File = Nothing
Set objShell = Nothing
Set objReg = Nothing
Set objRegistry = Nothing
Set objWshShell = Nothing
Set strDate = Nothing
Set strTime = Nothing
Set strTime2 = Nothing
Set strFileName = Nothing
Set strOpenFile = Nothing
Set strComputer = Nothing
Set strCommand = Nothing
Set strHostName = Nothing
Set strUserName = Nothing
Set intRC = Nothing
Set strKeyPath = Nothing
Set strValueName = Nothing
Set strValue = Nothing

End If
1
1
1
2012-02-16 19:10:28 +0000

Деинсталлируйте плагины (кроме менеджера плагинов). Это решило проблему для меня. Вы можете установить по одному плагину за раз, чтобы увидеть, какой плагин(ы) вызывает проблемы.

1
1
1
2012-08-27 12:50:03 +0000

Следующее решение на самом деле не разрешает сценарий двойного щелчка, но дает вам возможность выбора (и технически это также два щелчка):

Вы можете добавить пункт меню ‘Run as administrator’ в контекстное меню оболочки в зависимости от типа файла (точнее, в зависимости от программы). Подробности о настройке реестра смотрите в этой статье .

1
1
1
2019-07-22 11:27:37 +0000

просто простой и эффективный метод:

  1. создать ярлык на рабочем столе (c:\program files\notepad++\notpad++.exe -> правый клик -> sendto -> desktop)
  2. создать копию этого ярлыка и добавить _ADMIN к ярлыку
  3. щелкните правой кнопкой мыши на ярлык _ADMIN - свойства - ярлык - кнопка Дополнительно - отметьте “запустить от имени администратора”
  4. откройте проводник файлов и введите “shell:sendto”
  5. перетащите оба ярлыка в открытую папку

теперь у вас в списке “SendTo” есть и блокнот+++, и блокнот++_ADMIN для любого файла.

0
0
0
2013-10-15 07:21:17 +0000

Другое решение - открыть “Меню Пуск”, найти приложение Блокнот и нажать на него правой кнопкой мыши. Затем нажмите на кнопку “Запустить от имени администратора”.

Теперь вы можете просмотреть файловую систему (через “Блокнот/Файл/Открыть…”) для файла, который вы хотите отредактировать.

Похожие вопросы

3
28
13
7
11