就地取材批处理用好Windows(批处理文件就地取材权限所有者)「就地取材怎么解释」

就地取材批处理用好Windows(批处理文件就地取材权限所有者)

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

联系我们

在线咨询:点击这里给我发消息