博文

提取数字字段和大数加法-批处理应用(2007-05-10 18:27:00)

摘要: setlocal enabledelayedexpansion set "num1=qwer/asdf2/asd34f/1234567890123456/asdf/aaaa" set "num2=aaaaa2/23456789012345678/asdfssasd/asdaa" set "num1=%num1:/= %" & call :get_number !num1! & set "num1=!t!" set "num2=%num2:/= %" & call :get_number !num2! & set "num2=!t!" set "result=" :c_loop set /a x=%num1:~-8% set /a y=%num2:~-8% set /a z=%x%+%y% if defined flag set /a z=%z%+%flag% set "flag=%z:~0,-8%" >>nul 2>>nul && set "z=%z:~-8%" set "num1=%num1:~0,-8%" set "num2=%num2:~0,-8%" set "result=%z%%result%" if not defined num1 if not defined num2 set "result=%flag%%result%" & goto :show if not defined num1 set /a num1=0 if not defined num2 set /a num2=0 goto c_loop :show echo %result% & pause & goto :eof :get_number :loop echo %1>> tmp.txt& shift if not "%1"=="" goto :loop for /f %%a in ('findstr /r "^[0-9][0-9]*$" tmp.txt') do set "t=%%a" del tmp.txt......

阅读全文(3077) | 评论:0

批量修改文件名-批处理应用(2007-05-10 18:20:00)

摘要:任务说明:用数码相机拍的照片文件名太长,看着不爽。类似文件名:123456_fadfa.jpg、457845_fdaf.jpg....... 实现: 1、分析文件名字符串 for /f "usebackq token=1* delims=_" %%i in ('dir /b /a-d x:\*.jpg')do rename "%%i_%%j" %%i.jpg 对于任务说明中的文件名,此处token=1*也可改为token=1-6 2、采用连续数字序列 setlocal enabledelayedexpansion set /a n=1 for /r %%i in (x:\*.jpg) do rename %%i !n!.jpg & set /a n+=1 3、利用环境变量 setlocal enabledelayedexpansion for /f %%i in ('dir /a-d /b x:\*.jpg') do( set filename=%%i set filename=!filename:~0,6! rename %%i "!filename!.jpg")
或者: setlocal enablelayedexpansion for /f %%i in ('dir /a-d /b x:\*.jpg') do set filename=%%i call :rn !filename! pause & exit :rn set filename="%filename:~0,6%" rename %1 %filename%.jpg......

阅读全文(5121) | 评论:0

几个批处理例子(2007-04-23 15:18:00)

摘要:例一、再给出一个已经过时的例子(a.bat):

@echo off
if exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gif
a.bat

为什么说这是个过时的例子呢?很简单,因为现在已经几乎没有人用带广告的QQ了(KAO,我的QQ还显示好友三围呢!!),所以它几乎用不上了。但曾经它的作用是不可小窥的:删除QQ的广告,让对话框干干净净。这里用的地址是QQ的默认安装地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。在这个脚本中使用了if命令,使得它可以达到适时判断和删除广告图片的效果,你只需要不关闭命令执行后的DOS窗口,不按CTRL+C强行终止命令,它就一直监视是否有广告图片(QQ也再不断查看自己的广告是否被删除)。当然这个脚本占用你一点点内存,呵呵。


例二,使用批处理脚本查是否中冰河。脚本内容如下:

@echo off
netstat -a -n > a.txt
type a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!"
del a.txt
pause & exit

这里利用了netstat命令,检查所有的网络端口状态,只需要你清楚常见木马所使用的端口,就能很easy的判断出来是否被人种了冰河。然这不是确定的,因为冰河默认的端口7626,完全可以被人修改。这里介绍的只是方法和思路。这里介绍的是方法和思路稍做改动,就变成可以检查其他木马的脚本了,再改动一下,加进去参数和端口及信息列表文件后,就变成自动检测所有木马的脚本了。呵呵,是不是很过瘾?脚本中还利用了组合命令&&和管道命令|,后面将详细介绍。

例三、借批处理自动清除系统垃圾,脚本如下:

@echo off
if exist c:\windows\temp\*.* del c:\windows\temp\*.*
if exist c:\windows\Tempor~1\*.* del c:\windows\Tempor~1......

阅读全文(4276) | 评论:1

管道命令和组合命令(2007-04-23 15:14:00)

摘要:1.  管道命令  |、>、>> 1.1   |、的作用就是把前一命令的输出当后一命令的输入来用的。 1.2   >、>>、这两个命令的效果从本质上来说都是一样的,他们都是输出重定向命令,说的通俗一点,就是把前面命令的输出写入到一个文件中。这两个命令的唯一区别是,>会清除掉原有文件中的内容后把新的内容写入原文件,而>>只会另起一行追加新的内容到原文件中,而不会改动其中的原有内容。 2.  组合命令 &、&&、|| 2.1  &、这可以说是最简单的一个组合命令了,它的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败。 2.2  &&、这里介绍的几个命令都是组合命令,所以他们前后都必须都有其他命令(要不如何组合?)。这个命令也不例外,它可以把它前后两个命令组合起来当一个命令来用,与&命令不同之处在于,它在从前往后依次执行被它连接的几个命令时会自动判断是否有某个命令执行出错,一旦发现出错后将不继续执行后面剩下的命令。 2.3  ||、这个命令的用法和&&几乎一样,但作用刚好和它相反:利用这种方法在执行多条命令时,当遇到一个执行正确的命令就退出此命令组合,不再继续执行下面的命令。......

阅读全文(2442) | 评论:0

bat延迟运行(2007-04-23 13:54:00)

摘要:     引用 如果你运行的程序是可以自动返回cmd界面的 那么可以这样



@echo off

:aaa

pause 这里是你需要运行的程序

for /l %%i in (0,1,10000) do echo %%i>nul

goto aaa

当然bat延迟运行还有其他的一些方法 不过我这个算很简单了 你还可以使用两个for代替goto

for /l %%i in (0,1,10000) do echo %%i>nul 这里>nul忽略输出

如果程序是无法自动回到cmd界面的那可能需要结束她的进程什么的 自然利用bat调用其他程序也能做到例如ntsd debug 等等 或者是vbs 不过那就显不出bat的特性出来了
ping延时还是很精确的,呵呵。

@echo off
:aaa
echo %TIME%
ping 0.0.0.1 -n 1 -w 500>nul
goto aaa

I:\>delay
18:51:41.50
18:51:42.42
18:51:43.42
18:51:44.42
18:51:45.42
18:51:46.42
18:51:47.42
18:51:48.42
18:51:49.42
18:51:50.42
18:51:51.42
18:51:52.42
18:51:53.42
18:51:54.42
18:51:55.42
18:51:56.42
^C终止批处理操作吗(Y/N)? y Windows的ping.exe代码中调用了Sleep(1000),自然是很准确的。
ping的IP最好用127.0.0.1,因为用其他地址,第一次DNS解析会耗费一些时间,就不准确了。 收东西要收藏。我帮楼的各位大侠整理一下:
@echo off
@echo %time%
@set /a netu0=%1+1
@ping 127.0.......

阅读全文(6326) | 评论:1

重定向命令在安全方面的攻防应用(2007-04-23 13:51:00)

摘要:===================;
以下转载自 www.bluedon.com
===================;

重定向命令在安全方面的攻防应用
【2005-7-21 10:08:00】


  大家知道,DOS下有一个不为大家所常用的命令——重定向命令,这个小东西非常有用,该命令同样可以用于Win9x/ME/2000/XP下,灵活的使用这个命令可以给我们带来很大的方便——无论是入侵还是防守抑或是系统应用,都会带来很大的便利。今天就让我们来看几个重定向命令在安全方面的应用实例。

  一、命令格式

  DOS的标准输入输出通常是在标准设备键盘和显示器上进行的,利用重定向,可以方便地将输入输出改向磁盘文件或其它设备。其中:

  1.大于号“>”将命令发送到文件或设备,例如打印机>prn。使用大于号“>”时,有些命令输出(例如错误消息)不能重定向。

  2.双大于号“>>”将命令输出添加到文件结尾而不删除文件中已有的信息。

  3.小于号“<”从文件而不是键盘上获取命令所需的输入。

  4.>&符号将输出从一个默认I/O流(stdout,stdin,stderr)重新定向到另一个默认I/O流。例如,command >output_file 2>&1将处理command过程中的所有错误信息从屏幕重定向到标准文件输出中。标准输出的数值如下所示:

  标准输出 等价的数值

  Stdin 0

  Stdout 1

  Stderr 2

  其中,1和2都创建一个文件用于存放数据;4可能不能够在DOS下使用。

  二、重定向命令的输出

  几乎所有的命令均将输出发送到屏幕。即使是将输出发送到驱动器或打印机的命令,也会在屏幕上显示消息和提示。要将输出从屏幕重定向到文件或打印机,请使用大于号(>)。大多数命令中均可以使用大于号。例如,在以下命令中,dir命令生成的目录列表重定向到Dirlist.txt文件:dir>dirlist.tx......

阅读全文(1920) | 评论:0

很牛X的程序(2006-02-22 13:40:00)

摘要:e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1
e11b 6 57 b8 11 1 bb 21 13 89 7 4b 4b 48 79 f9 ad 86 e0 8b c8 bd ff ff e8 20
e134 0 3d 0 1 74 1a 7f 3 aa eb f3 2d ff 0 50 e8 f 0 5a f7 d8 8b d8 26 8a 1 aa
e14f 4a 75 f9 eb de cb 57 bb 21 13 8b c1 40 f7 27 f7 f5 8b fb ba 11 1 4f 4f 4a
e168 39 5 7f f9 52 8b c5 f7 25 f7 37 2b c8 95 f7 65 2 f7 37 95 2b e8 fe e fe
e181 10 79 6 c6 6 fe 10 7 46 d0 14 d1 d1 d1 e5 79 ec 5a b8 11 1 ff 7 4b 4b 48
e19b 3b d0 75 f7 5f c3 83 f7 83 a6 5d 59 82 cd b2 8 42 46 9 57 a9 c5 ca aa 1b
e1b4 4f 52 b4 92 3f ab 6e 9e a8 1d c6 3 fc e 6a e7 ae bb 5f 7b 10 b8 b4 f7 8
e1cd e2 bf 36 4e 39 9d 79 29 3f a f9 36 52 16 fb 5 e8 e5 a6 c2 e9 b0 43 d3 a3
e1e6 cf d3 fd fd cb d1 4c 5e e0 63 58 86 bb 3e 9 c1 20 bc cc 91 a3 47 81 70 b3
e1ff d6 1a 9e c2 c9 12 e7 4e ad f4 5f e3 30 e9 9 39 d7 e8 f9 f4 d2 44 e8 d7 22
e218 be e2 ce 88 25 cf 30 4a a8 29 ae 3f 47 c6 2d 85 e9 73 54 13 b e6 e0 34 65
e231 e2 50 8a 89......

阅读全文(2174) | 评论:3

定时关闭程序(2006-02-21 19:07:00)

摘要:@echo off "E:\Program Files\Tencent\qq\CoralQQ.exe" taskkill /im cmd.exe
@cmdow @ /hid ::when open two qq.exe,in case another cmd.exe is opened
taskkill /im cmd.exe /t ::record the log of this time to 1.txt
copy nul "H:\xboy\定时关闭进程\1.txt"
date /t >> "H:\xboy\定时关闭进程\1.txt"
echo. >> "H:\xboy\定时关闭进程\1.txt" ::generate the time file
::syntax is: "c:\s.vbs <seconds>"
copy nul c:\s.vbs
echo t = wscript.arguments.item(0) >> c:\s.vbs
echo wscript.sleep(t+"000") >> c:\s.vbs ::main program
:START
call c:\s.vbs 180
for /l %%i in (1,1,10) do call c:\s.vbs 10 | for /l %%c in (1,1,5) do taskkill /IM qq.exe /T >> "H:\xboy\定时关闭进程\1.txt" && time /t >> "H:\xboy\定时关闭进程\1.txt"
taskkill /im qqgame.exe /t
goto START......

阅读全文(7702) | 评论:4