私は.configファイルをメモ帳++で開くように設定しています。編集したファイルは保護された場所(例えば、c:\windows, c:\program files…など)にあるので、管理者のアクセスが必要になります
.configファイルをダブルクリックして、Notepad++を管理者権限で開かせられるようにしたい。UACプロンプトが出てきても大丈夫です
何か方法はないのでしょうか?
56 AngryHacker 2010-12-06
最良の方法は、Notepad++がインストールされているフォルダ(32ビットWindowsの場合はProgram Files、64ビットWindowsの場合はProgram Files(x86))に直行し、そこからNotepad++の実行ファイルを見つけ、右クリックして互換性を選択し、下部にある「管理者として実行」のチェックボックスをオンにすることです
これにより、アプリケーションは常にUAC警告を表示しますが、管理者として編集することができます
Good luck!
EDIT: この記事を見つけました。技術的にはWindows10用ですが、Win7+でも同じように動作するはずです
56 akseli 2010-12-06
スタートメニューでエディタプログラム(例: Notepad++)を検索し、Ctrl+Shift+Enterと入力すると、管理者としてプログラムを実行できることがわかりました
これで、高度な権限を必要とするファイルを開いて編集できるようになるはずです
19 elolos 2012-08-31
@Askeliさんの回答の改善点として、まず、notepad++実行ファイルのコピーを作成してください(NotepadUACのような名前にしてください)。そして、コピーのプロパティで互換性モードを設定して、Askeliが提案したように管理者モードを必要とするようにしてください。これで、.configファイルをオリジナルではなくコピーを使って開くように設定できるようになります
ここでの利点は、オリジナルの (デフォルトの) Notepad++ .exe ファイルでファイルを開いたときに UAC プロンプトが表示されないことです。不利な点は、このコピーが必ずしもオリジナルと同じ方法で最新の状態に保たれているとは限らないことであり、最終的には .dll や設定のバージョンの不一致の問題が発生する可能性があることです。しかし、そのようなことが起こった場合、アンインストール/インストールはいつでも簡単にできます
11 Joel Coehoorn 2010-12-06
私の解決策は、メモ帳++をタスクバーに固定することでした。システムファイルの編集に必要なときは、メモ帳を右クリックして “Notepad++”をクリックし、”管理者として実行 “をクリックします
システムファイルを常に編集しているのであれば、ショートカットを変更したり、コピーを作成したりする方法もありますが、それ以外の方法でも問題ありません。私は日常的にメモ帳++を使っていますが、毎日保護されたファイルをいじっているわけではありません
10 Marlon 2010-12-07
これは、元の質問が2010年に投稿されたときには利用できませんでしたが、2012年の時点では – ベストアンサー(少なくとも私が考えるところでは)
Install nppSaveAsAdmin:
http://sourceforge.net/projects/nppsaveasadmin から
このプラグインを使うと、任意のファイルを管理者として保存することができます。メモ帳++で「保存」を押すだけで、ユーザーとして変更できない場合は、管理者として保存します。Windows XP、Windows Vista、Windows 7、Windows 8に対応しています
管理者として保存」プラグインは、Notepad++のプラグインマネージャーから簡単にインストールできます。(プラグイン / プラグインマネージャ / プラグインマネージャを表示 / 利用可能なプラグインを選択します。管理者として保存」にチェックを入れて、「インストール」をクリックします)
Notepad++ は通常通り、完全な管理用 UAC トークンを使用して実行する必要はありません。ただし、アクセスが許可されていないファイルを保存しようとしていることを Notepad++ が認識すると、NppAdminAccess.exe にフォークします (UAC プロンプトが表示されます)。はい」をクリックするだけで、ファイルは管理者権限で保存されます
6 ziesemer 2014-11-04
- テキストエディタの.exeを同じプログラムファイルフォルダにコピーして、名前に「Admin」などを追加します
- 新しいexeを右クリック -> プロパティ -> 互換性 -> 特権レベル -> “管理者としてこのプログラムを実行する “にチェックを入れます
- デスクトップ/タスクバー/スタートメニューにこのexeのショートカットを作成します
- 管理者として編集したいtxtファイルをこのショートカットにドラッグします
これはウェブ開発のためにhostsファイルを編集しなければならないときに最も簡単で柔軟な方法です。もちろん、Joel さんの提案のように管理者として拡張子が一つのファイルをすべて開きたい場合は、”open with…”作成したコピーに-> “デフォルトのプログラムを選択してください
2 Brad 2012-12-31
プラグインをアンインストールします(プラグインマネージャーを除く)。これで問題が解決しました。プラグインを1つずつインストールして、どのプラグインが問題を起こすかを確認することができます
1 notepadpp student user 2012-02-16
以下の解決策では、ダブルクリックのシナリオは実際にはできませんが、選択する力を与えてくれます(技術的には2回のクリックでもあります)
ファイルの種類ごと (というかプログラムごと) にシェルのコンテキストメニューに ‘管理者として実行’ メニュー項目を追加することができます。レジストリの微調整の詳細については、この記事を参照してください
1 ctusch 2012-08-27
一番良い方法は、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
1 Kevin 2013-10-23
シンプルで効果的な方法だけに
- デスクトップにショートカットを作成します
- そのショートカットのコピーを作成し、ショートカットに_ADMINを追加します
- ADMINショートカットを右クリック – プロパティ – ショートカット – 詳細設定ボタン – “管理者として実行 “にチェックを入れます
- ファイルエクスプローラを開き、”shell:sendto” と入力します
- 開いたフォルダに両方のショートカットをドラッグ&ドロップします
これで、任意のファイルの “SendTo “リストにnotepad++とnotepad++_ADMINの両方が表示されるようになりました
1 Bernhard 2019-07-22
もう一つの方法は、「スタートメニュー」を開き、メモ帳アプリケーションを検索して右クリックすることです。そして、「管理者として実行」をクリックします
これで、編集したいファイルのファイルシステムを(「メモ帳/ファイル/開く…」を介して)閲覧できるようになりました
0 Jérôme 2013-10-15