那么,是否有一个批处理命令可以更改资源管理器中 .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