管理者モードで編集するためにファイルを開く方法は?


49

Notepad ++で開くように設定された.configファイルがあります。編集するファイルは通常、保護された場所(c:\ windows \、c:\ program files ...など)にあるため、管理者アクセスが必要です。

.configファイルをダブルクリックして、管理者権限でNotepad ++を開くことができるようにしたいと思います。UACプロンプトが表示されても問題ありません。

それを行う方法はありますか?

回答:


53

最良の方法は、Notepad ++がインストールされているフォルダー(32ビットWindowsの場合はProgram Files、64ビットWindowsの場合はProgram Files(x86))に直接移動し、Notepad ++実行可能ファイルを見つけて右クリックし、選択することです。互換性を確認し、下部で[管理者として実行]チェックボックスをオンにします。

これにより、アプリケーションに常にUAC警告が表示されますが、常に管理者として編集することができます。

幸運を!

編集:UACプロンプトを起動せずにショートカットを作成できるこの記事を見つけました。技術的にはWindows 10用ですが、Win7 +でも同じように動作するはずです。


2
Notepad ++ exeファイルのコピーを作成し、コピーのみを管理者として実行するように設定することにより、これを改善できます。この方法では、通常のメモ帳++は毎回プロンプトを表示しません。
ジョエルCoehoorn

8
@JoelCoehoornこれは、exeの完全なコピーではなくショートカットを介して行うことができます(ショートカットのプロパティウィンドウのタブのAdvanced...ボタンに移動しShortcutて有効にします)、notepad ++を更新すると、昇格されていないものと昇格したショートカット。
スコットチェンバレン

superuser.com/a/1462628/193963のように、両方のショートカットをシェルのsendtoメニューに追加します
Bernhard

19

[スタート]メニューでエディタープログラム(Notepad ++など)を検索し、Ctrl+ Shift+を入力するEnterと、管理者としてプログラムを実行できることがわかりました。

その後、昇格された権限を必要とするファイルを開いて編集できるはずです。


3
しかし、昇格された特権で編集するためにファイルを開く方法を尋ねるので、それは実際には質問に対する答えではありません。
デアホッホシュプラー

そうです、ダブルクリックではなく、この方法でエディター内からファイルを開きます。
エロロス

12

@Askeliの答えに対する改善として、まずnotepad ++実行可能ファイルのコピーを作成できます(NotepadUACのような名前を付けます)。次に、Askeliによって提案された管理者モードを要求するように、コピーのプロパティで互換モードを設定します。これで、元のファイルではなくコピーを使用して.configファイルを開くように設定できるはずです。

ここでの利点は、元の(デフォルトの)Notepad ++ .exeファイルでファイルを開くときにUACプロンプトが表示されないことです。欠点は、このコピーが必ずしも元のコピーと同じように最新の状態に維持されるとは限らず、最終的に不一致の.dllまたは構成バージョンに関する問題を引き起こす可能性があることです。しかし、それが発生した場合、アンインストール/再インストールするのは常に簡単です。


@akseliの提案は機能しますが、UACプロンプトが表示されます。とにかく、私はそれで生きることができます。
AngryHacker

10

私の解決策は、Notepad ++をタスクバー固定することでした。システムファイルの編集に必要な場合は、右クリックして[Notepad ++]をクリックし、[管理者として実行]をクリックします。

システムファイルを常に編集している場合は、ショートカットを変更したり、ショートカットをコピーしたりする他のソリューションで問題ありません。毎日Notepad ++を使用していますが、保護されたファイルを毎日台無しにしています。


6

これは、元の質問が2010年に投稿されたときは利用できませんでしたが、2012年の時点で- ベストアンサー(少なくとも、私が考えている限り):

nppSaveAsAdminをインストールします。

http://sourceforge.net/projects/nppsaveasadminから:

このプラグインを使用すると、管理者として任意のファイルを保存できます。Notepad ++で[保存]を押すだけで、このファイルをユーザーとして変更できない場合、Notepad ++は管理者として保存します。Windows XP、Windows Vista、Windows 7、Windows 8がサポートされています。

「管理者として保存」プラグインは、Notepad ++ Plugin Managerからすばやく簡単にインストールできます。(プラグイン/プラグインマネージャー/プラグインマネージャーの表示/利用可能。「管理者として保存」をチェックし、「インストール」をクリックします。)

Notepad ++は通常どおり実行され、完全な管理UACトークンで実行する必要はありません。ただし、アクセスが許可されていないファイルを保存しようとしていることがNotepad ++によって確認された場合、NppAdminAccess.exeに分岐します(UACプロンプトが表示されます)。「はい」をクリックするだけで、ファイルは管理者権限で保存されます。


2
  1. テキストエディターの.exeのコピーを同じプログラムファイルフォルダーに作成し、名前に「Admin」などを追加します。
  2. 新しいexeを右クリック->プロパティ->互換性->特権レベル->「管理者としてこのプログラムを実行」をチェック
  3. デスクトップ/タスクバー/スタートメニューにこのexeへのショートカットを作成します
  4. 管理者(またはそのショートカット)として編集するtxtファイルをこのショートカットにドラッグします

これは、Web開発用にhostsファイルを編集する必要がある場合に、これを行うのに最も簡単で柔軟な方法です。もちろん、Joelの提案によると、管理者として1つの拡張子のすべてのファイルを開きたい場合は、作成したコピーに対して[...で開く]-> [デフォルトプログラムの選択]を使用できます。


1

プラグインをアンインストールします(プラグインマネージャーを除く)。これで問題は解決しました。一度に1つのプラグインをインストールして、問題の原因となっているプラ​​グインを確認できます。


1

次のソリューションでは、ダブルクリックのシナリオは実際には許可されませんが、選択の力が得られます(技術的には2回のクリックも可能です)。

「管理者として実行」メニュー項目を、ファイルタイプごと(またはプログラムごと)にシェルコンテキストメニューに追加できます。参照この記事レジストリの微調整の詳細については、を。


1
@Ramhoundリンクされた記事をチェックアウトし、ダウン票を再考してください。または、あなたが言及している答えを指摘してください。akseliの答えは常にUACをトリガーします。Joel Coehoornの答えには、.exeファイルのコピーが必要でした(彼が述べたように、これは自動的には更新されません)。また、特定のファイルタイプに対して常にUACをトリガーします。Marlonの答えは管理者としてプログラムを起動するだけで、Notepad ++でファイルを手動で開く必要があります。また、notepadppのユーザーの答えは、トピック外のAFAICTです。
ctusch

1

最良の方法は、管理者として実行するようにNotepad ++を設定することです。それに伴う問題は、右クリックオプションが壊れることです。そこで、古いオプションを削除する右クリックオプションを置き換えました。私の修正の良い点は、レジストリのディレクトリ設定に追加したことです。フォルダーを右クリックして、Notepad ++で編集を選択すると、Notepad ++ですべてのファイルが開きます:)。私は多くのVBScriptプログラミングを行っています。これにより、何かを実行したりオブジェクトを変更したりする新しい方法を思いついたときに、すべてのファイルを簡単に編集してグローバルな変更を加えることができます。

VBScriptは、レジストリキーを変更する前にバックアップします。Notepad ++は管理者として設定されないため、Notepad ++実行可能ファイルを右クリックして、管理者として実行するように変更する必要があります。これを管理者として実行する方法の調査を始めています。それができたら、投稿を編集して、管理者として編集するか、通常の編集を行うかを選択できるようにします。

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

別の解決策は、「スタートメニュー」を開き、メモ帳アプリケーションを検索して右クリックすることです。次に、「管理者として実行」をクリックします。

これで、編集するファイルのファイルシステムを参照できます(「メモ帳/ファイル/開く...」を使用)。


0

シンプルで効果的な方法:

  1. デスクトップにショートカットを作成します(c:\ program files \ notepad ++ \ notpad ++。exe->右クリック-> sendto-> desktop)
  2. そのショートカットのコピーを作成し、_ADMINをショートカットに追加します
  3. _ADMINショートカットを右クリック-プロパティ-ショートカット-詳細ボタン-「管理者として実行」にチェックマークを付ける
  4. ファイルエクスプローラーを開き、「shell:sendto」と入力します
  5. 両方のショートカットを開いたフォルダーにドラッグアンドドロップします

これで、任意のファイルの「SendTo」リストにnotepad ++とnotepad ++ _ ADMINの両方が追加されました。

シェルコンテキストメニュー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.