系统自带的批处理是一个多命令自动执行脚本
系统自带的批处理是一个多命令自动执行脚本,只要编辑好特定的批处理,它就可以帮助我们执行很多的操作。以 7(及以上版本)系统为例,很多系统文件都被赋予严格的权限,如果要对某个系统文件进行改名或者编辑等操作,常规的操作是要先取得文件的所有权,接着再赋予当前管理员账户对该文件完全控制权,这样才能完成上述的操作。比如,为了方便访问一些网站,我们经常要对C:\\\\etc\hosts进行编辑,该文件默认所有者为账户,当前管理员账户没有编辑权限,而且没有对“C:\\\”写入权限(图1)。这就需要一步步解锁权限。对于这类的操作,借助批处理即可快速完成取得所有权和写入控制权的更改,让复杂操作变简单。示例代码如下(rem为注释无需输入):
图1 用户没有写入权限
rem 运行同时打开指定的系统文件,在批处理中如果文件路径包含空格,一定要用半角的""括起来
"C:\\\\etc\hosts"
rem 赋予指定文件(夹)所有者为管理员组
/f C:\\\\etc\hosts /a
rem 赋予指定文件(夹)完全读取权限到当前操作用户,其中为当前登录用户名,“:F”为完全控制权限
C:\\\\etc\hosts /grant :F
将上述批处理保存为Aa.bat批处理文件并放置在桌面,以后只要右击选择“以管理员身份运行”,运行完成后记事本会自动打开指定的文件,并可以直接对该文件进行编辑和保存了(图2)。
图2 使用批处理后可以一步完成编辑、保存操作
继续打开C:\\\\etc\hosts的“属性→安全→高级”,在这里可以看到该文件的所有者已经被更改为当前管理员组(默认为),同时切换到“安全→编辑”,在用户列表中则可以看到当前登录账户已经获取到完全控制权限了(图3、图4)。
图3 通过批处理快速获得所有权
图4 通过批处理快速获得完全控制权限
因为严格的权限管理机制可以很好地保护系统,因此对系统文件的权限进行更改,完成文件的编辑后建议恢复原来的权限,恢复的操作也很简单(只是操作前一定要记住原来文件的所有者和权限设置)。比如需要恢复Hosts文件所有者为账户,可进入文件“属性→高级→编辑→所有者”,将所有者重新更改为即可。需要注意的是,如果是恢复为,需要“NT \”才可以添加(图5)。
图5 恢复系统文件所有者为
小提示:
系统自带的批处理命令还有很多,我们既可以直接像上面实例一样使用类似、一样的命令行制作批处理,比如喜欢一键备份的朋友可以借助Dism命令制作备份/还原脚本,ADSL用户则可以借助实现一键自动拨号。此外,还可以利用常见的GUI程序,如文件管理器、记事本等生成脚本,比如C:\是系统隐藏的目录,为了方便自己访问,可以制作一个批处理(代码“.exe C:\”)即可一键打开。
【文章扩展】
一般用户对批处理语法并不熟悉,为了方便对自己制作的批处理进行编辑或调试,可以辅助使用“iBAT 批处理编辑工具”,启动程序后导入需要调试的批处理进行编译即可。该程序还自带常见的语法命令,比如对于上述批处理,如果Hosts文件较大,就可以在第一行语句后添加延时命令,以方便后续程序的启动,此时可点击右侧窗格的“ping 延时”,在打开的窗口中选择延时的时间,点击“输入”即可。它使用所见即所得的方式,方便我们自行添加语法命令(图6)。
图6 使用iBAT 批处理添加语句
完成添加延时语句后,现在在原来批处理中就会添加“ping 127.0.0.1 -n 4”语句。如此一来,即使是新手也可以非常方便地对批处理进行编辑和调试(图7)。
图7 成功添加延时语法命令