我的客户遇到了日志文件过大的问题:在他们的 PC(windows-Server 2016)上,Notepad.exe 被用作打开此类文件的应用程序。我将其改为 Notepad++.exe,解决了这个问题。
现在我想用简单的命令行来通知他们这一点,以支持我所做的工作。因此,由于我的电脑(Windows-10)上有相同的设置,我决定为此使用assoc
和ftype
。令我惊讶的是,这是我得到的结果(在我的 Windows-10 电脑上):
Prompt>C:\Users\DDM>assoc | findstr /I "log"
...
.log=txtfile
...
Prompt>ftype | findstr /I "txtfile"
txtfile=%SystemRoot%\system32\NOTEPAD.EXE %1
虽然我的电脑使用 Notepad++ 打开这样的文件(就像客户的电脑一样)=> 但命令的结果似乎是错误的!
我可以使用哪些命令行命令来向客户证明 Notepad.exe 已被 Notepad++.exe 取代,用于打开“*.log”文件?
谢谢
编辑
我刚刚意识到,我只修改了我自己用户的文件扩展名关联,而不是所有用户的文件扩展名关联,而assoc
/ftype
为整个 PC 提供了这种关联。所以我的问题是,每个用户是否存在这样的命令?
答案1
我刚刚发现以下注册表项:
Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\...
...\CurrentVersion\Explorer\FileExts\.log\UserChoice
(为了便于阅读,将其分成两行,正确的语法包含Windows\CurrentVersion
)
所以这意味着,为了显示当前用户的文件关联,我可以使用这个命令行命令:
Prompt>reg query "HKCU\SOFTWARE\Microsoft\Windows\...
...\CurrentVersion\Explorer\FileExts\.log\UserChoice"
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\...
...\CurrentVersion\Explorer\FileExts\.log\UserChoice
ProgId REG_SZ Applications\notepad++.exe
Hash REG_SZ d0CsAhT8BLU=
有人能确认这是正确的吗?