使用批处理在 Windows 中编辑文件扩展名/文件类型描述符

使用批处理在 Windows 中编辑文件扩展名/文件类型描述符

那么,是否有一个批处理命令可以更改资源管理器中 .exe 文件“类型”列中的文本。

例如,.bat 文件在类型中被称为“Windows 批处理文件”。我想使用批处理创建一个 .disk 文件类型“批量数据存储文件”。

有办法吗?

答案1

要向“HKEY_CLASSES_ROOT”添加新扩展,您需要reg.exe以提升的权限运行。
它是使用开关(default)设置的值,/ve/t REG_SZ

reg.exe add "HKEY_CLASSES_ROOT\.disk" /ve /t REG_SZ  /d "Bulk Data Storage File"

如果你想改变当前值附加/f强制

您需要关闭/重新打开资源管理器窗口才能使其生效。

在此处输入图片描述

以下批次将提升自身并请求确认该值是否存在 - 显示旧/新内容。

:: Q:\Test\2018\06\16\SU_1331760.cmd
@Echo off& setlocal EnableExtensions DisableDelayedExpansion
:: elevate if neccessary
net file 1>nul 2>&1 || (powershell -ex unrestricted -Command ^
"Start-Process -Verb RunAs -FilePath '%comspec%' -ArgumentList '/c %~f0 %*'"
  goto :eof)
:: Put code here that needs elevation

Set "Key=HKEY_CLASSES_ROOT\.disk"
Set "Dat=Bulk Data Storage File"
Set "Typ=REG_SZ"
Set "OLD="

:: reed present value, and ask for confirmation
for /f "tokens=1,2*" %%A in (
'REG QUERY "%Key%" /VE ^|find /I "REG_SZ" '
) Do Set "OLD=%%C"
If defined OLD (
    Echo=
    Echo do you want to replace:
    Echo Old:%OLD%
    ECHO New:%Dat%
    Echo=
    Choice
    If errorlevel 2 exit /B 1
)
Echo REG ADD "%Key%" /ve /t %Typ%  /d "%Dat%" /f
     REG ADD "%Key%" /ve /t %Typ%  /d "%Dat%" /f
Pause

相关内容