用DOS命令或批处理怎么隐藏文件的扩展名

2024-11-25 00:09:05
推荐回答(3个)
回答1:

思路:如果你想用DOS批处理来解决文件的扩展名问题,我想势必要用到注册表,
思路是:

1、找到用注册表修改“隐藏/显示”文件的方法;
2、用DOS修改注册表的批处理命令来完成

那么,你的问题在此就一分为二,

1、找到注册表修改显示隐藏的方法,我找到如下:

修改注册表中HKEY_LOCAL_MACHINE/SOFTWARE/MICORSOFT/WINDOWS/
CURRENTVERSION/EXPLORE/ADVANCED/FOLDER/HIDDEN/HIDDEN/
HIDEFILEEXT/UcheckedValue的值:0为显示,1位不显示。

2、用DOS命令修改注册表,我找到如下:
『第 8 楼』:

建议用reg命令,这样可以支持变量的录入

例如:
下面是拼音加加优盘版的部分批处理命令
reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v %SystemRoot%\system32\pyjj4.ime /t REG_SZ /d WINXPSP2 /f //Vista系统修正
set /p usbjj= 请输入当前路径后回车 //优盘加加路径
reg add "HKLM\SOFTWARE\jj4" /v "install path" /t REG_SZ /d "%usbjj%" /f //优盘加加路径

%SystemRoot% 会替换为windows的安装路径
%usbjj% 会替换为键盘输入的字符

------------
回复7楼:
你说的两种方法我都试过了.都是以失败告终.真的很郁闷.也不知道出现什么错误.7楼大哥你也可以自己试验一下.帮忙找一下是什么问题!也很希望高手来解答一下..~~
回复8楼:
我曾经看来有人用过setlocal命令和reg add 命令来修改注册表.以下是我看到的代码:
@echo off

setlocal

set regkey="HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core"

reg add %regkey% /v EnableConcurrentSessions /T REG_DWORD /D 1 /f

endlocal
由于本人不太熟悉这两个命令.请高手给我讲解一下~~~谢谢了.

类似的,你还可以用DOS修改注册表,让他们无法修改显示隐藏。
你甚至可以用注册表,吧这个批处理变成IE菜单或者文件夹菜单下的两个快速按钮。这样就达打方便了操作。
具体你试试吧

回答2:

你的第一个问题就如楼上所说,大概只能修改注册表来解决吧.
好,现在大概解释下%的意思.dos中的%主要起个变量的作用吧
一.windows有很多环境变量,常用的如%windir%等等,你可以输入echo %windir%查看这个环境变量到底是什么意思.
二.第二大概就是自己定义的变量了
set a=12
echo %a%
这里输出a的时候就要加%
三.第三大概是参数吧,一般用于for等语句
%0代表自己,顺带%1,%2就代表第一第二个参数,我举两个例子来小说明下,不过得用bat比较好说些.!~
我们建立个test.bat,放到c盘
@echo off
echo %1
echo %2
echo %3
pause
好了,然后进入dos运行这个bat,(先把目录弄到c盘)c:>test.bat apple dog cat
回车,看到了吧,输出你自己看,这里面apple就是变量1,就是%1,dog是%2,以此类推.

至于%0有两个作用,第一就是代表批处理本身.如
@echo off
echo %0
pause这样就会输出这个批处理现在的目录
第二个作用就是无限循环,如
@echo off
echo loop
%0这就是无限输出loop字符

..好累..语文不好真费劲.我写的都是最简单的一些,网上有bat教程的,你仔细看看,会有帮助

回答3:

复制以下内容保存为BAT,就可以了.
(1是不显示, 0是显示)点右键刷新一下就看到效果了.

@echo off
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t reg_dword /d 0 /f