命令 /?
1、 @ 行首有了它的话,这一行的命令就不显示了。
@字符放在命令前将关闭该命令回显,无论此时echo是否为打开状态
2、 echo 输出的意思
3、on | off 开关的意思
> 输出重定向,创建或清空文件,然后把数据输出到文件,类似linux shell的标准输出
>> 把数据追加到文件,类似linux shell的标准输出
4、注释, :: 或 rem
5、跳转到标签,":"和 goto
6、定义一个标签, :
7 、pause 运行命令时不关闭窗口
8、Call 命令
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使嫌拦用 Call,它将不会在命令行起作用
语法
参数
指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。
9、start,调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用
打开D盘
10、choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
11、 %x 参数
%1 -- 第1个参数
%2 -- 第2个参数
%3 -- 第3个参数
11、errorlevel程序返回码
每个命令运行结束,可以用这个命令行格式查看返回码
用于判断刚才的命令是否执行成功
默认值为0,一般命令执行出错会设 errorlevel 为1
12、title设置誉者茄cmd窗口的标题
13、find在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V显示所有未包含指定字符串的行。
/C仅显示包含字符串的行数。
/N显示行号。
/I搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文字串,
[drive:][path]filename
指定要搜索的文件。
如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。
Find常和type命令结合使用
Type [drive:][path]filename | find "string" [>tmpfile] #挑选包含string的行
Type [drive:][path]filename | find /v "string" #剔除文件中包含string的行
Type [drive:][path]filename | find /c #显示文件行数
以上用法将去除find命令自带的提示语(文件名提示)
14、pushd 和 popd切换当前庆察目录
其他看这个文章
https://www.cnblogs.com/iTlijun/p/6137027.html
1.常用命令举例
a.创建文件夹: mdD:\mybat //将在D盘下创建一个名为 mybat的文件夹
b.删除文件夹: rd D:\mybat//将删除D盘中的mybat文件夹删除
c.删除文件夹中的文件: del D:\mybat\sheepmu.txt //删除文件sheepmu.txt
del D:\mybat\sheepmu.txt/q//安静模式删除,即删除时不d出是否删除的提示框
d.复制文件 : xcopy D:\mybat\sheepmu.txtD:\mybat1 //若D中无mybat1这个文件夹则会创建文件夹再复制
e.向文件中写入内容: echo sheepmu >>D:\mybat\sheepmu.txt //如果这个文件不存在就创建文件并输入。如果是文件 夹不存在就不会成功! >>与>的区别是>是覆盖掉原来 的;>>是直接输入到原来的尾部
f.显示文件中内容: typeD:\mybat\sheepmu.txt
g.更改文件名后缀: renD:\mybat*.txt *.html
2.批处理小例子
a.检查是否中冰河
@echo off
netstat -a -n > D:\mybat\sheepmu.txt
type D:\mybat\sheepmu.txt | find "7626" &&echo 遭了,中了!
pause &exit
解析:
第一行:echo off 表示关闭显示,@表示不显示 echo off本身
第二行:netstat 显示协议及当前tcp/ip连接, -a表示显示所有连接和侦听端口;-n表示以数字的形式显示地址和;并把这些信息写入到文件D:\mybat\sheepmu.txt中。
第三行: type 表示显示文件D:\mybat\sheepmu.txt中内容;
第四行:&表示且,即暂停且退出。
b.清理系统垃圾
@echo off
if exist C:\windows\temp*.* del C:\windows\temp*.*
if exist C:\windows\History*.* del C:\windows\History*.*
if exist C:\windows\recent*.* del C:\windows\recent*.*
exist
解析:如果存在该文件就删除该文件。注意:删除文件夹用 rd ;删除文件用 del
3.注意事项
a.批处理脚本编写时最好的老师就是小黑老师啦,打开命令行窗口,输入命令加上/?就会有详细的说明,比如: netstat /?
b.pause 命令可以方便我们查看命令执行到了那一步,因为在bat脚本运行时若出现脚本错误窗口会一闪而过。
c.批处理执行过程中可以按 Ctrl+C退出,这对于出现死循环时非常有用。
%~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 \\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命令--
for /f i%% in (dict.txt) do net use \\ip\ipc$ %%i /u:administrator|find :命令成功完成>>D:\ok.txt ,这样就ko了。
sample3:
你有没有过手里有大量肉鸡等着你去种后门+木马呢?,当数量特别多的时候,原本很开心的一件事都会变得很郁闷:)。文章开头就谈到使用批处理文件,可以简化日常或重复性任务。那么如何实现呢?呵呵,看下去你就会明白了。
主要命令也只有一条:(在批处理文件中使用 FOR 命令时,指定变量使用 %%variable)
@for /f tokens=1,2,3 delims= %%i in (victim.txt) do start call door.bat %%i %%j %%k
tokens的用法请参见上面的sample1,在这里它表示按顺序将victim.txt中的内容传递给door.bat中的参数%i %j %k。
而cultivate.bat无非就是用net use命令来建立IPC$连接,并copy木马+后门到victim,然后用返回码(If errorlever =)来筛选成功种植后门的主机,并echo出来,或者echo到指定的文件。
delims= 表示vivtim.txt中的内容是一空格来分隔的。我想看到这里你也一定明白这victim.txt里的内容是什么样的了。应该根据%%i %%j %%k表示的对象来排列,一般就是 ip password username。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)