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

Como abrir um ficheiro para edição em modo Administrador?

Tenho ficheiros .config config config configurados para abrir no Notepad++. Os ficheiros que edito encontram-se normalmente em locais protegidos (por exemplo, c:\windows\, c:\program files…, etc…), requerendo assim o acesso do administrador.

Gostaria de poder fazer duplo clique num ficheiro .config e ter o Bloco de Notas++ aberto com privilégios de Administrador. Não há problema se a solicitação UAC surgir.

Existe uma forma de o fazer?

Respostas (11)

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

A melhor maneira é ir directamente para a pasta na qual o Notepad++ está instalado (Ficheiros de Programas para Windows 32 bit e Ficheiros de Programas(x86) para Windows 64 bit), lá, encontrar o Notepad++ executável, clicar com o botão direito do rato sobre ele, e seleccionar Compatibilidade, e na parte inferior marcar a caixa para Executar como administrador.

Esta VONTADE fará a sua aplicação aparecer sempre com um aviso UAC, mas terá sempre a capacidade de editar como administrador.

Boa sorte!

EDIT: Encontrado este artigo que lhe permite criar o atalho sem lançar o aviso UAC. É tecnicamente para o Windows 10, mas deve funcionar da mesma forma no Win7+.

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

Descobri que procurar o programa editor (por exemplo, Notepad++) no menu Iniciar e depois digitar Ctrl+Shift+Enter permite executar o programa como administrador.

Deverá então ser capaz de abrir e editar o ficheiro que requer privilégios elevados.

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

Como uma melhoria sobre @Askeli’s answer , pode primeiro fazer uma cópia do bloco de notas++ executável (Dê-lhe um nome parecido com NotepadUAC). Depois definir o modo de compatibilidade nas propriedades da sua cópia para requerer o modo de administrador, como sugerido por Askeli. Agora deverá também poder configurar os seus ficheiros .config para abrir utilizando a cópia em vez do original.

A vantagem aqui é que não verá o prompt UAC ao abrir ficheiros com o original (por defeito) Notepad++ ficheiro .exe. A desvantagem é que esta cópia não se vai necessariamente manter actualizada da mesma forma que o original, e pode eventualmente causar problemas com versões .dll ou config desajustadas. Mas é sempre suficientemente fácil de desinstalar/reinstalar se isso acontecer.

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

A minha solução foi pin Notepad++ para a barra de tarefas. Quando preciso dele para editar ficheiros do sistema, clico com o botão direito do rato sobre ele, clico em “Notepad++”, e clico em “Executar como administrador”.

As outras soluções que modificam o atalho ou que fazem cópias dele estão bem se estiver sempre a editar ficheiros do sistema. Utilizo o Bloco de Notas++ diariamente, mas não mexo com ficheiros protegidos todos os dias.

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

Isto não estava disponível quando a pergunta original foi publicada em 2010, mas a partir de 2012 - a melhor resposta (pelo menos como eu a considero):

Instalar nppSaveAsAdmin:

De http://sourceforge.net/projects/nppsaveasadmin :

Este plugin permite-lhe guardar qualquer ficheiro como administrador. Basta premir “Guardar” no Notepad++ e se não lhe for permitido alterar este ficheiro como utilizador, o Notepad+++ guardá-lo-á como administrador. Windows XP, Windows Vista, Windows 7, Windows 8 são suportados.

O plugin “Guardar como administrador” está disponível para instalação rápida e fácil a partir do Notepad++ Plugin Manager. (Plugins / Gestor de Plugins / Mostrar Gestor de Plugins / Disponível. Verificar “Guardar como admin”, clicar em “Instalar”).

Notepad+++ continuará a funcionar como habitualmente, e sem necessidade de funcionar com fichas UAC administrativas completas. No entanto, se o Notepad+++ vir que está a tentar guardar um ficheiro ao qual não tem acesso de outra forma, ele irá bifurcar para NppAdminAccess.exe (exibindo uma mensagem UAC). Basta clicar em “Sim”, e o seu ficheiro será guardado com privilégios administrativos.

2
2
2
2012-12-31 20:24:09 +0000
  1. Faça uma cópia do .exe do seu editor de texto na mesma pasta de ficheiros de programa e anexe “Admin” ou semelhante ao nome.
  2. Clique com o botão direito do rato no novo exe -> Propriedades -> Compatibilidade -> Nível de Privilégio -> Verifique “Executar este programa como administrador”
  3. Criar um atalho para este exe no seu ambiente de trabalho / barra de tarefas / menu iniciar
  4. Arraste um ficheiro txt que pretende editar como Administrador (ou atalho para um) para este atalho

É a forma mais fácil / mais flexível que encontrei para fazer isto quando tenho de editar o ficheiro anfitrião para desenvolvimento web. Claro que se quiser apenas abrir todos os ficheiros de uma extensão como administrador, por sugestão do Joel, pode simplesmente usar o “abrir com…”. -> “Escolher programa padrão” na cópia que criou.

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

A melhor maneira é configurar o Bloco de Notas++ para funcionar como administrador. O problema com isso é que quebra a opção de Clique Direito. Assim, fiz um substituto para a opção de clique direito que remove a opção antiga. A parte boa da minha correcção é que a adicionei à definição de Directório no Registo. Assim, agora pode clicar com o botão direito do rato numa pasta e escolher Editar com o Bloco de Notas++ e este abrirá todos os ficheiros no Bloco de Notas++ :). Faço muita programação em VBScript. Isso facilita-me a edição de todos os meus ficheiros fazendo alterações globais quando invento um novo método de fazer algo ou alterar um objecto.

O meu VBScript faz o backup das teclas de registo antes de as alterar. Não define o Bloco de Notas++ como administrador, pelo que tem de o fazer clicando com o botão direito do rato no executável Bloco de Notas++ e alterando-o para ser executado como administrador. Estou a começar a pesquisar sobre como fazer disto um Executar como Administrador. Quando me lembro disso, vou editar o meu post, pelo que lhe dá a opção de editar como Administrador ou editar normalmente.

'==========================================================================================
' 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

Desinstalar os plugins (excepto o gestor de plugins). Isto resolveu o problema para mim. Pode instalar um plugin de cada vez para ver qual(is) plugin(s) causa problemas.

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

A seguinte solução não permite realmente o cenário de duplo clique mas dá-lhe o poder de escolha (e tecnicamente são também dois cliques):

Pode adicionar um item de menu ‘Run as administrator’ ao menu de contexto da shell numa base por tipo de ficheiro (ou melhor, por programa). Ver este artigo para detalhes sobre a afinação do registo.

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

apenas um método simples e eficaz:

  1. criar um atalho no ambiente de trabalho (c:\i1 ficheiros de programas\i+++\i+.exe -> clique com o botão direito do rato -> enviar para -> ambiente de trabalho)
  2. criar uma cópia desse atalho e adicionar \i>ADMIN ao atalho
  3. clicar com o botão direito do rato no atalho _ADMIN - propriedades - atalho - botão avançado - assinalar “run as administrator”
  4. abrir um explorador de ficheiros e escrever “shell:sendto”
  5. arrastar e largar ambos os atalhos para a pasta aberta

agora tem tanto o bloco de notas+++ como o bloco de notas+++_ADMIN na sua lista “SendTo” para qualquer ficheiro.

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

Outra solução é abrir o “Menu Iniciar”, procurar a aplicação Notepad e clicar no botão direito do rato. Depois clicar em “Executar como Administrador”.

Pode agora navegar no sistema de ficheiros (através de “Notepad/File/Open…”) para o ficheiro que pretende editar.