学习批处理命令——添加“显示|不显示 隐藏文件”右键菜单
来源:互联网 发布:ads 差分端口 仿真 编辑:程序博客网 时间:2024/06/05 07:30
最近,重装了Windows7系统,windows7如果要显示隐藏的文件,需在“文件夹选项”的“查看”页的“高级设置”中将“显示隐藏文件及文件夹、驱动器”选中。这个“显示隐藏的文件”的操作很不方便,于是自然想到将其放到右键菜单中。在网上搜了下相关资料,也下了一些添加“显示|隐藏文件”右键菜单的程序,如window7优化大师,但他们要么有问题,要么将系统文件也给显示出来了。想到这个功能实现起来很简单,就是修改注册表相关项,添加一个右键菜单,以前也一直想学习批处理命令,何不写个批处理命令来实现它!
说干就干,在网上找到了一篇很有用的文章:http://bbs.wuyou.com/viewthread.php?tid=128552通过对它的学习,很快就被我鼓捣出来了添加“显示|不显示 隐藏文件”右键菜单的批处理文件。源文件如下:
@echo offtitle 安装"不显示|显示 隐藏文件"右键菜单:beginclsmode con cols=60 lines=35echo.echo ***********“不显示|显示 隐藏文件”右键菜单***********echo * *echo * *echo * 1.安装 *echo * *echo * 2.卸载 *echo * *echo * 0.退出 *echo * *echo * Author:tht QQ:245806497 *echo * *echo * Blog:http://blog.csdn.net/tht2009 *echo * *echo *******************************************************echo.:menuecho.set /p select=请选择:if %select%==0 exitif %select%==1 goto installif %select%==2 goto uninstallecho 选择无效,请从新输入!goto menu:installecho.set filename=%SystemRoot%\ShowHideFile.vbsecho 正在安装执行脚本(ShowHideFile.vbs)……echo Dim WSHShell>%filename%echo Set WSHShell = WScript.CreateObject("WScript.Shell")>>%filename%echo if WshShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden") = 1 then>>%filename%echo WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "2", "REG_DWORD">>%filename%echo else WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "1", "REG_DWORD">>%filename%echo end if>>%filename%echo WSHShell.SendKeys("{F5}")>>%filename%echo Set WSHShell=Nothing>>%filename%echo WScript.Quit(0)>>%filename%echo.echo 正在创建右键菜单……reg add HKEY_CLASSES_ROOT\Directory\Background\shell\show /d "显示/不显示 隐藏文件" /fecho.echo 正在关联右键菜单……reg add HKEY_CLASSES_ROOT\Directory\Background\shell\show\command /d "WScript C:\\Windows\\ShowHideFile.vbs" /fecho.if exist %filename% echo 安装成功!goto end:uninstallecho.set filename=%SystemRoot%\ShowHideFile.vbsif exist %filename% (echo.echo 正在删除执行脚本……del %filename%)echo.echo 正在删除注册表中相关项……reg delete HKEY_CLASSES_ROOT\Directory\Background\shell\show /fecho.echo 卸载成功!:endecho.pausegoto begin
(注:上述代码在windows7上执行成功,在XP上需修改59、64行)
运行截图和结果图如下:
另附上学习批处理命令的整理笔记:
一、常见批处理命令
命令
说明
REM
注释,注释内容能回显
::(:后接非字母数字)
注释,注释内容即使在回显状态打开时也不显示注释内容
:label(:后接字母数字)
标号(标签),goto语句可以识别
%注释内容%
行内注释,不常用,慎用
@命令
关闭后接命令的回显
echo (后接:①on/off
②为空
③信息内容
④. 即echo.
⑤答复语|命令文件名
⑥文件内容 >/>> 文件名
⑦打印机控制码/打印内容>PRN
⑧^G(可多个)
)
① 打开/关闭 回显功能(在DOS下能打开关闭命令提示符)
②显示当前回显状态
③输出提示的信息内容
④输出回车换行(. 还可用 , : ; ” / [ \ ] +等替代)
⑤预置答复语作为人机对话的命令输入,如 echo Y|del tht.txt
⑥新建文件/增加文件内容
⑦控制打印机
⑧使喇叭鸣响
pause
暂停执行之后的命令直到有输入
echo %errorlevel%
查看上个命令执行后的返回码:0,成功;1,出错
title 标题
设置cmd窗口标题
color attr (控制台颜色属性,attr为两个十六进制数字,
第一个为背景,第二个为前景,如果为空则恢复默认颜色,
如果前景与背景颜色一样,该命令会将errorleval置为1)
设置控制台前景与背景色,颜色取值如下:
0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色
7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色
D=淡紫色 E=淡黄色 F=亮白色
mode
配置系统设备,如mode con[:] cols=113 lines=20 设置显示模式
goto
跳转
find
在指定文件中查找制定字符串
start
运行外部程序的命令(立即返回)
assoc (后接:①为空
②.txt等后缀名
③.txt=txtfile )
① 显示所有文件扩展名关联类型
②显示.txt代表的文件类型项
③设置文件扩展名关联类型项
ftype (后接:①为空
②txtfile等文件类型项
③txtfile=执行程序及参数 )
① 显示所有文件类型的关联执行程序及参数
②显示txtfile代表的文件类型项关联执行程序及参数
③设置txtfile文件类型的关联执行程序及参数
pushd 目录
将当前目录入栈保存,并切换至新目录
popd
将之前保存的目录出栈并切换至这个目录
call (后接:①命令
②其他批处理文件
③:label 参数 )
① 执行指定命令
②执行另一个批处理(处理完才返回)
③执行本文件指定命令段,该段以:label开头,以goto:eof结尾
shift /n
更改批处理的可替换参数位置,从n开始
setlocal EnableDalayExpansion
启动变量延迟
Attrib
显示或更改文件属性
二、常用批处理符号
符号
说明
@
回显屏蔽
%
变量引导: %var%,引用变量; %0,批处理文件本身路径;%1~9,调用程序外部参数;%*,所有参数
>
(覆盖)输出
>>
(添加)输出
<
从文件中读入命令
>&
将一个设备的输出写到另一个的输入 1:标准输入 2:标准输出 3:标准错误输出
<&
将一个设备的输入写到另一个的输出
|
命令管道符:command1|command2|command3……,将地1条的结果作为第二条的参数
^
转义字符,也可作为续行符号(因为每行末尾有一个看不见的回车换行符,最后用^会使其失效达到续行效果)
&
组合命令(互不影响)
&&
组合命令(前面执行失败,后面不执行)
||
组合命令(前面执行失败,后面才执行)
“”
字符串界定符
,
某些情况下相当于空格
()
(多行命令)会被当作一条命里执行
==
相等判断
exist
存在文件判断
defined
存在变量判断
EQU
(数字)相等判断
NEQ
(数字)不相等判断
LSS
(数字)小于判断
LEQ
(数字)小于等于判断
GTR
(数字)大于判断
GEQ
(数字)大于等于判断
同行命令优先级:
管道命令>重定向命令>组合命令
三、FOR语句
格式:FOR[参数] %%var IN (一组文件) DO 命令 [命令参数]
(1) for /d %%i in (C:\*) do echo %%i
输出C盘下的所有目录
(2) for /d %%i in (C:\???) do echo %%i
输出C盘下的三个字符以内的目录
(3) for /r C:\ %%i in (*.exe) do echo %%i
输出C盘所有exe文件路径(如果未指定C:\,则搜索当前目录)
(4) for /l %%i in (1,1,5) do echo %%i
输出1,2,3,4,5。(1,1,5)=(start,step,end)
(5) FOR /F [“eol=c,skip=n,delims=xxx,tokens=x,y,m-n,usebackq”] %%i in
具体介绍请参见cmd帮助
FOR 命令中变量i修饰
变量修饰
说明
~i
如果i以”开头,则删除开头”和结尾”(如果结尾是”)
~fi
输出绝对路径
~di
只输出盘符
~pi
输出所在目录的路径
~ni
只输出文件名
~xi
只输出文件扩展名
~si
输出短文件名
~ai
输出文件属性
~ti
输出文件创建日期
~zi
输出文件大小
~$PATH:i
在环境变量PATH指定的目录里查找,有返回第一个文件名称,没有空字符串
四、变量
(一)系统变量
系统变量
返回值说明
通常位置(代表的值)
%AllUsersProfile%
系统ProgramData文件夹路径
C:\ProgramData
%AppData%
应用程序存储数据的位置
C:\Users\Administrator\AppData\Roaming
%CD%
当前目录
%CmdCmdLine%
当前批处理的完整命令行形式
%CmdExtVersion%
当前命令处理程序的扩展版本号
%ComputerName%
计算机名称
%ComSpec%
命令行解释执行程序cmd.exe的路径
C:\Windows\System32\cmd.exe
%Date%
当前日期
%ErrorLeval%
上一条命令的错误代码
0,成功;1,失败
%HomeDrive%
当前用户本地主目录的驱动器号
C:
%HomePath%
当前用户主目录
\User\administrator
%HomeShare%
当前用户共享主目录的网络路径
%LogonServer%
当前登录的域控制器的命称
%OS%
操作系统名称
%Path%
可执行文件的搜索路径
与编译器的include path 对应
%PathExt%
可执行文件的扩展名列表
%Processor_Architecture%
处理器体系结构
x86等
%Processor_Level%
处理器型号
%Processor_Revision%
处理器版本号
%Prompt%
当前命令提示符设置
%Random%
0到32767之间任意十进制数字
%SystemDrive%
系统驱动器
C:
%SystemRoot%
系统根目录
C:\Windows
%Temp%或%Tmp%
当前用户默认程序临时目录
%Time%
当前时间
%UserDomain%
当前用户域名称
%UserName%
当前用户名称
%UserProfile%
当前用户配置文件位置
%WinDir%
操作系统目录
C:\Windows
%n(n=1..9)
批处理第n个参数
%*
批处理所有参数
%0
批处理文件绝对路径
(二)自定义变量
(1)代码赋值:set var=tht
(2)键盘输入赋值:set /p var=请输入变量的值
五、Set命令
1. set
显示当前环境变量的值
2. set var=
清除var的值,使其成为未定义状态
3. set var=tht
设置变量var,并赋值tht
4. set /p var=请输入变量的值
设置变量var,等待键盘输入赋值
5. set /a var=运算表达式
设置变量var,其值为等号右边表达式的运算结果
六、常见表达式
1. set var=%str1:str2=str3%
将字符串str1中的str2部分用str3替换,结果赋值给var
2. set var=%str:~start,length%
length为正,从字符串str的start位置开始,截取length个字符给var;length为负,从字符串str的start位置开始到倒数length位置之前的字符串赋给var
3. set var=%str:~n%
n为正数,将字符串前n个字符赋给var;n为负数,将字符串后n个字符赋给var
- 学习批处理命令——添加“显示|不显示 隐藏文件”右键菜单
- 右键添加[显示、隐藏文件]
- 添加 右键显示隐藏文件+扩展名
- win7 右键添加 显示\隐藏 系统文件+扩展名
- 批处理之显示隐藏文件
- 右键菜单自由选择DataGrid显示隐藏列
- 不显示隐藏文件
- 隐藏文件不显示
- Mac显示或不显示隐藏文件操作命令
- 右键添加显示隐藏文件夹功能
- 批处理添加右键菜单项
- win7右键显示隐藏文件及扩展名
- 右键菜单有关注册表项简介及隐藏指定文件后缀、改变显示图标
- 右键菜单有关注册表项简介及隐藏指定文件后缀、改变显示图标
- ShowPopupMenu显示自己创建的右键菜单 不显示
- 始终不显示隐藏文件
- vc 右键菜单显示
- 如何显示右键菜单?
- 实战 PureMVC
- ORACLE触发器
- MySQL索引背后的数据结构及算法原理
- 有趣的 JavaScript 代码片段
- 切换IP地址的小工具
- 学习批处理命令——添加“显示|不显示 隐藏文件”右键菜单
- QT helloWord 程序
- http://blog.sina.com.cn/s/blog_8820018a0100w7t7.html
- wchar_t *str转换为CString 类型---VC新手学习
- BNF范式和EBNF范式
- 马宁关于Mango应用的Title的文章
- 对CAB文件进行数字签名
- 别把自己弄成一个委委屈屈的黄脸婆
- Python读写文件