Come aprire un file per la modifica in modalità amministratore?


49

Ho i file .config impostati per aprirsi in Notepad ++. I file che modifico sono in genere in posizioni protette (es. C: \ windows \, ​​c: \ programmi ..., ecc.) E richiedono quindi l'accesso come amministratore.

Vorrei poter fare doppio clic su un file .config e aprire Notepad ++ con i privilegi di amministratore. Va bene se viene visualizzato il prompt UAC.

C'è un modo per farlo?

Risposte:


53

Il modo migliore è quello di andare direttamente alla cartella in cui è installato Notepad ++ (Programmi per Windows a 32 bit e Programmi (x86) per Windows a 64 bit), trovare l'eseguibile Notepad ++, fare clic destro su di esso e selezionare Compatibilità e in fondo selezionare la casella Esegui come amministratore.

Questo farà apparire la tua applicazione sempre con un avviso UAC, ma avrai sempre la possibilità di modificare come amministratore.

In bocca al lupo!

EDIT: trovato questo articolo che consente di creare il collegamento senza avviare il prompt UAC. È tecnicamente per Windows 10, ma dovrebbe funzionare allo stesso modo su Win7 +.


2
Possiamo migliorare questo facendo una copia del file exe Notepad ++ e impostando solo la copia da eseguire come amministratore. In questo modo, il normale notepad ++ non ti chiederà ogni volta.
Joel Coehoorn,

8
@JoelCoehoorn Questo può essere fatto tramite una scorciatoia invece di una copia completa dell'exe (vai al Advanced...pulsante nella Shortcutscheda della finestra delle proprietà della scorciatoia per abilitarlo), in questo modo se aggiorni il blocco note ++ aggiornerà sia il tuo non elevato che il tuo scorciatoie elevate.
Scott Chamberlain,

e like superuser.com/a/1462628/193963 metti entrambe le scorciatoie nel menu di invio shell
Bernhard

19

Ho scoperto che la ricerca del programma di editor (ad esempio Blocco note ++) nel menu Start e quindi digitando Ctrl+ Shift+ Enterconsente di eseguire il programma come amministratore.

Dovresti quindi essere in grado di aprire e modificare il file che richiede privilegi elevati.


3
Questa non è in realtà una risposta alla domanda, in quanto chiede come aprire un file per la modifica con privilegi elevati.
Der Hochstapler,

Hai ragione, apri il file dall'editor in questo modo e non con un doppio clic.
elolos,

12

Come miglioramento rispetto alla risposta di @ Askeli , puoi prima fare una copia dell'eseguibile di notepad ++ (chiamalo come NotepadUAC). Quindi imposta la modalità di compatibilità nelle proprietà della tua copia per richiedere la modalità amministratore come suggerito da Askeli. Ora dovresti anche essere in grado di impostare i tuoi file .config per aprirli usando la copia piuttosto che l'originale.

Il vantaggio qui è che non vedrai il prompt UAC all'apertura dei file con il file .exe Notepad ++ originale (predefinito). Lo svantaggio è che questa copia non si manterrà necessariamente aggiornata allo stesso modo dell'originale e potrebbe eventualmente causare problemi con versioni .dll o config non corrispondenti. Ma è sempre abbastanza facile disinstallare / reinstallare se ciò accade.


Il suggerimento di @ akseli funziona, tuttavia, vedo ancora il prompt UAC. Comunque, posso conviverci.
AngryHacker

10

La mia soluzione era quella di aggiungere Notepad ++ alla barra delle applicazioni. Quando ne ho bisogno per la modifica dei file di sistema, faccio clic destro su di esso, fai clic su "Notepad ++", quindi fai clic su "Esegui come amministratore".

Le altre soluzioni che modificano il collegamento o ne fanno copie vanno bene se si modificano continuamente i file di sistema. Uso Notepad ++ su base giornaliera ma non scherzo con i file protetti ogni giorno.


6

Questo non era disponibile quando la domanda originale è stata pubblicata nel 2010, ma a partire dal 2012 - la migliore risposta (almeno per come la considero):

Installa nppSaveAsAdmin:

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

Questo plugin ti consente di salvare qualsiasi file come amministratore. Basta premere "Salva" in Notepad ++ e se non ti è permesso modificare questo file come utente, Notepad ++ lo salverà come amministratore. Sono supportati Windows XP, Windows Vista, Windows 7, Windows 8.

Il plug-in "Salva come amministratore" è disponibile per un'installazione rapida e semplice da Gestione plug-in Notepad ++. (Plugin / Plugin Manager / Mostra Plugin Manager / Disponibile. Seleziona "Salva come amministratore", fai clic su "Installa".)

Notepad ++ continuerà a funzionare normalmente e senza la necessità di eseguirli con token UAC amministrativi completi. Tuttavia, se Notepad ++ rileva che stai tentando di salvare un file a cui altrimenti non ti è consentito l'accesso, verrà spostato su NppAdminAccess.exe (visualizzando un prompt UAC). Basta fare clic su "Sì" e il file verrà salvato con privilegi di amministratore.


2
  1. Crea una copia del .exe del tuo editor di testo nella stessa cartella dei file di programma e aggiungi "Admin" o simile al nome.
  2. Fai clic con il tasto destro del mouse sul nuovo exe -> Proprietà -> Compatibilità -> Livello di privilegio -> Seleziona "Esegui questo programma come amministratore"
  3. Crea un collegamento a questo exe sul desktop / barra delle applicazioni / menu di avvio
  4. Trascina un file txt che desideri modificare come amministratore (o collegamento a uno) in questo collegamento

È il modo più semplice / flessibile che ho trovato per farlo quando devo modificare il file hosts per lo sviluppo web. Ovviamente se vuoi solo aprire tutti i file di un'estensione come admin, su suggerimento di Joel, puoi semplicemente usare "apri con ..." -> "Scegli programma predefinito" sulla copia che hai creato.


1

Disinstallare i plug-in (tranne il gestore dei plug-in). Ciò ha risolto il problema per me. È possibile installare un plug-in alla volta per vedere quali plug-in causano problemi.


1

La seguente soluzione non consente davvero lo scenario a doppio clic, ma ti dà la potenza della scelta (e tecnicamente è anche due clic):

È possibile aggiungere una voce di menu "Esegui come amministratore" al menu di scelta rapida della shell in base al tipo di file (o meglio a programma). Consulta questo articolo per i dettagli sulla modifica del registro.


1
@Ramhound Ti dispiacerebbe leggere l'articolo collegato e ripensare il tuo voto negativo? O in alternativa indicare a quale risposta ti riferisci? La risposta di akseli attiverà sempre l'UAC. La risposta di Joel Coehoorn aveva bisogno di una copia del file .exe (che non verrà aggiornato automaticamente, come ha detto). Inoltre attiverà sempre UAC per il tipo di file specifico. La risposta di Marlon avvia il programma come amministratore, è comunque necessario aprire il file manualmente in Notepad ++. E la risposta dell'utente di notepadpp studend è fuori tema AFAICT.
cususch

1

Il modo migliore è impostare Notepad ++ per l'esecuzione come amministratore. Il problema è che rompe l'opzione del tasto destro. Quindi ho fatto una sostituzione all'opzione del tasto destro che rimuove quella precedente. La parte bella della mia correzione è che l'ho aggiunta all'impostazione Directory nel registro. Quindi ora puoi fare clic con il tasto destro su una cartella e selezionare Modifica con Notepad ++ e si apriranno tutti i file in Notepad ++ :). Faccio molta programmazione VBScript. Questo mi rende facile modificare tutti i miei file apportando cambiamenti globali quando trovo un nuovo metodo per fare qualcosa o cambiare un oggetto.

Il mio VBScript esegue il backup delle chiavi di registro prima di modificarle. Non imposta Notepad ++ come amministratore, quindi è necessario farlo facendo clic con il pulsante destro del mouse sull'eseguibile Notepad ++ e modificandolo per eseguirlo come amministratore. Sto iniziando a fare delle ricerche su come renderlo un Run come amministratore. Quando mi viene in mente che modificherò il mio post in modo che ti dia la possibilità di modificare come amministratore o modificare 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


0

Un'altra soluzione è aprire il "Menu Start", cercare l'applicazione Blocco note e fare clic con il tasto destro del mouse. Quindi fare clic su "Esegui come amministratore".

Ora è possibile sfogliare il file system (tramite "Blocco note / File / Apri ...") per il file che si desidera modificare.


0

solo un metodo semplice ed efficace:

  1. crea un collegamento sul desktop (c: \ programmi \ notepad ++ \ notpad ++. exe -> clic destro -> sendto -> desktop)
  2. crea una copia di quel collegamento e aggiungi _ADMIN al collegamento
  3. fare clic con il tasto destro del mouse sul collegamento _ADMIN - proprietà - collegamento - pulsante avanzato - selezionare "Esegui come amministratore"
  4. apri un esploratore di file e digita "shell: sendto"
  5. trascina e rilascia entrambe le scorciatoie nella cartella aperta

ora hai sia notepad ++ che notepad ++ _ ADMIN nella tua lista "SendTo" per qualsiasi file.

Menu contestuale della shell

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.