学会批量处理Word文档格式.docx
- 文档编号:4792998
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:30
- 大小:33.43KB
学会批量处理Word文档格式.docx
《学会批量处理Word文档格式.docx》由会员分享,可在线阅读,更多相关《学会批量处理Word文档格式.docx(30页珍藏版)》请在冰点文库上搜索。
@echo
off
if
exist
C:
\Progra~1\Tencent\AD\*.gif
del
\Progra~1\Tencent\AD\*.gif
a.bat
为什么说这是个过时的例子呢?
很简单,因为现在已经几乎没有人用带广告的QQ了(KAO,我的QQ还显示好友三围呢!
!
),所以它几乎用不上了。
但曾经它的作用是不可小窥的:
删除QQ的广告,让对话框干干净净。
这里用的地址是QQ的默认安装地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。
在这个脚本中使用了if命令,使得它可以达到适时判断和删除广告图片的效果,你只需要不关闭命令执行后的DOS窗口,不按CTRL+C强行终止命令,它就一直监视是否有广告图片(QQ也再不断查看自己的广告是否被删除)。
当然这个脚本占用你一点点内存,呵呵。
例三,使用批处理脚本查是否中冰河。
脚本内容如下:
netstat
-a
-n
type
a.txt
|
find
"
7626"
&
echo
Congratulations!
You
have
infected
GLACIER!
pause
这里利用了netstat命令,检查所有的网络端口状态,只需要你清楚常见木马所使用的端口,就能很easy的判断出来是否被人种了冰河。
然这不是确定的,因为冰河默认的端口7626,完全可以被人修改。
这里介绍的只是方法和思路。
这里介绍的是方法和思路稍做改动,就变成可以检查其他木马的脚本了,再改动一下,加进去参数和端口及信息列表文件后,就变成自动检测所有木马的脚本了。
呵呵,是不是很过瘾?
脚本中还利用了组合命令&
和管道命令|,后面将详细介绍。
例四,借批处理自动清除系统LJ,脚本如下:
c:
\windows\temp\*.*
\windows\temp\*.*
\windows\Tempor~1\*.*
\windows\Tempor~1\*.*
\windows\History\*.*
\windows\History\*.*
\windows\recent\*.*
\windows\recent\*.*
将以上脚本内容保存到autoexec.bat里,每次开机时就把系统LJ给自动删除了。
这里需要注意两点:
一、DOS不支持长文件名,所以就出现了Tempor~1这个东东;
二、可根据自己的实际情况进行改动,使其符合自己的要求。
怎么样,看到这里,你对批处理脚本是不是已经有点兴趣了?
是不是发现自己已经慢慢爱上了这个东东?
别高兴的太早,爱不是一件简单的事,它也许能带给你快乐和幸福,当然也能让你痛苦的想去跳楼。
如果你知道很难还敢继续的话,I
服了
YOU!
继续努力吧,也许到最后你不一定得到真爱(真的有这可能,爱过的人都知道),但你可以体会到整个爱的过程,就是如此。
酸、苦和辣,有没有甜天知道。
为什么会把批处理和爱情扯上关系?
不是我无聊,也不是因为这样写有趣多少,原因有二:
其一,批处理和爱情有很多相同的地方,有些地方我用“专业”的行话解释不清(我不怀疑自己的表达能力,而是事情本身就不好说清楚),说了=没说,但用地球人都知道的爱情一比喻(爱情是什么?
我**怎么知道!
),没准你心里一下就亮堂了,事半功倍,何乐而不为?
其二,我这段时间状态不是很好,感冒发烧头疼鼻塞,但主要还是感情上精神摧残,搞的人烦透了,借写教程之际感慨几句,大家就全当买狗皮膏药了,完全可以省略不看(也许还真有点效果----不至于让你看着看着就睡着了,把头磕了来找我报销医药费)。
说不定下次的教程中大家还会看到杨过、张无忌等金老前辈笔下的英雄们。
看过第一章的朋友,一定对批处理有了初步的印象,知道它到底是用来干什么的了。
但你知道运用批处理的精髓在哪里吗?
其实很简单:
思路要灵活!
没有做不到的,只有想不到的。
这和爱情就有点不同了,因为爱情的世界是两个人的世界,一厢情愿不叫爱情(补充:
那叫单恋。
废话!
)而批处理却是一个人的天堂,你可以为所欲为,没有达不到的境界!
批处理看起来杂乱无章,但它的逻辑性之强,绝对不比其他程序语言(如汇编)低,如果你写的脚本是一堆乱麻,虽然每一行命令都正确,但从头执行到尾后,不一定得到你想要的结果,也许是一屏幕的Bad
command
or
fail
name。
这又和爱情有了共同点:
按步骤来经营,缺少或增多的步骤都可能导致不想看见的结果。
陷入爱河的朋友,相信没有不肯定这句话的。
我的爱情批处理,输出的结果不是Bad
name,屏幕是这么显示的:
‘你的爱情’不是内部或外部命令,也不是可运行的程序或批处理文件。
然后就是光标不停闪动,等待这下一次错误的输入。
从这一章开始,将由浅入深的介绍批处理中常用的命令,很多常见DOS命令在批处理脚本中有这广泛的应用,它们是批处理脚本的BODY部分,但批处理比DOS更灵活多样,更具备自动化。
要学好批处理,DOS一定要有比较扎实的基础。
这里只讲述一些比较少用(相对来说)的DOS命令,常用命令如COPY、DIR等就不做介绍了(这些看似简单的命令实际复杂的很,我怕自己都说不清楚!
例五,先看一个实例。
这是一个很有意思的脚本,一个小巧实用的好东东,把批处理“自动化”的特点体现的淋漓尽致。
先介绍一下这个脚本的来历:
大家都知道汇编程序(MASM)的上机过程,先要对源代码进行汇编、连接,然后再执行,而这中间有很多环节需要输入很多东西,麻烦的很(只有经历过的朋友才懂得)。
如何使这个过程变的简单呢?
在我们搞汇编课程设计时,我“被逼”写了这个脚本,用起来很爽,呵呵。
看看脚本内容:
:
close
echo
cls
clean
screen
This
programme
is
make
MASM
automate
display
info
Edit
by
CODERED
Mailto
me
qqkiller***@
%1"
=="
goto
usage
input
without
paramater
/?
help"
pause
see
masm
%1.asm
assemble
.asm
code
errorlevel
1
edit
error
msg
link
%1.obj
%1
else
.obj
file
execute
.exe
file
set
Usage:
BAT
name
[asm
name]
Default
START.BAT
先不要被这一堆的东西给吓怕了,静下心来仔细的看(回想一下第一章中第一段是怎么写的!
已经给出了每一行命令的解释,两个冒号后面的内容为前一行内容解释的E文(害怕E文的朋友也不用担心,都很easy,一看就懂了,实在不懂了不会查词典啊,这么懒?
),在脚本执行时不显示,也不起任何作用。
倒数第5行行首有一个冒号,可不是笔误哦!
具体作用后面会详细讲到。
此脚本中masm和link是汇编程序和连接程序,必须和edit程序以及你要编辑的源代码(当然还有这个脚本,废话!
)一起在当前目录中。
使用这个批处理脚本,可以最大可能的减少手工输入,整个过程中只需要按几下回车键,即可实现从汇编源代码到可执行exe文件的自动化转换,并具备智能判断功能:
如果汇编时源代码出现错误(汇编不成功),则自动暂停显示错误信息,并在按任意键后自动进入编辑源代码界面;
如果源代码汇编成功,则进行连接,并在连接后自动执行生成的exe文件。
另外,由于批处理命令的简单性和灵活性,这个脚本还具备良好的可改进性,简单进行修改就可以符合不同朋友的上机习惯。
正在学汇编的朋友,一定别忘了实习一下!
下面重点介绍批处理里面用的每个命令的用法:
1.Echo
命令
打开回显或关闭请求回显功能,或显示消息。
如果没有任何参数,echo
命令将显示当前回显设置。
语法
echo
[{on off}]
[message]
Sample:
off
/
hello
world
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用>
^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
2.@
表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
@echo
Now
initializing
program,please
wait
a
minite...
@format
X:
/q/u/autoset
(format
这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。
)
3.Goto
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:
label
(label是参数,指定所要转向的批处理程序中的行。
if
{%1}=={}
noparms
{%2}=={}
noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。
@Rem
check
parameters
null
show
:
monitor.bat
ServerIP
PortNumber
goto
end
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:
用来表示这个字母是标签,goto命令就是根据这个:
来寻找下一步跳到到那里。
最好有一些说明这样你别人看起来才会理解你的意图啊。
4.Rem
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
Rem
Message
@Rem
Here
description.
5.Pause
运行
Pause
命令时,将显示下面的消息:
Press
any
key
continue
.
.
begin
copy
a:
*.*
d:
\back
Please
put
new
disk
into
driver
A
pause
在这个例子中,驱动器
A
中磁盘上的所有文件均复制到d:
\back中。
显示的注释提示您将另一张磁盘放入驱动器
时,pause
命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。
6.Call
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。
call
命令接受用作调用目标的标签。
如果在脚本或批处理文件外使用
Call,它将不会在命令行起作用。
call
[[Drive:
][Path]
FileName
[BatchParameters]]
[:
[arguments]]
参数
[Drive:
}[Path]
FileName
指定要调用的批处理程序的位置和名称。
filename
参数必须具有
.bat
或
.cmd
扩展名。
7.start
调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
入侵常用参数:
MIN
开始时窗口最小化
SEPARATE
在分开的空间内开始
16
位
Windows
程序
HIGH
在
HIGH
优先级类别开始应用程序
REALTIME
REALTIME
WAIT
启动应用程序并等候它结束
parameters
这些为传送到命令/程序的参数
执行的应用程序是
32-位
GUI
应用程序时,CMD.EXE
不等应用程序终止就返回命令提示。
如果在命令脚本内执行,该新行为则不会发生。
8.choice
choice
使用此命令可以让用户输入一个字符,从而运行不同的命令。
使用时应该加/c:
参数,c:
后应写提示可输入的字符,之间无空格。
它的返回码为1234……
如:
choice
/c:
dme
defrag,mem,end
将显示
defrag,mem,end[D,M,E]?
Sample.bat的内容如下:
3
defrag
(应先判断数值最高的错误码)
2
mem
errotlevel
defrag
c:
\dos\defrag
mem
good
bye
此文件运行后,将显示
defrag,mem,end[D,M,E]?
用户可选择d
m
e
,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto
end将程序跳到end标号处,然后程序将显示good
bye,文件结束。
9.If
表示将判断是否符合规定的条件,从而决定执行不同的命令。
有三种格式:
1、if
参数"
==
字符串"
待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。
(注意是两个等号)
如if
a"
format
2、if
文件名
待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
config.sys
config.sys
3、if
not
数字
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
x2
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
10.for
for
命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用
FOR
命令时,指定变量请使用
%%variable
{%variable|%%variable}
in
(set)
do
[
CommandLineOptions]
%variable
指定一个单一字母可替换的参数。
(set)
指定一个或一组文件。
可以使用通配符。
command
指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。
%%variable而不要用
%variable。
变量名称是区分大小写的,所以
%i
不同于
%I如果命令扩展名被启用,下列额外的
命令格式会受到支持:
FOR
/D
%variable
IN
DO
[command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
/R
[[drive:
]path]
[command-
检查以
[drive:
]path
为根的目录树,指向每个目录中的FOR
语句。
如果在
后没有指定目录,则使用当前目录。
如果集仅为一个单点(.)字符,则枚举该目录树。
/L
(start,step,end)
[command-para
该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5)
将产生序列
4
5,(5,-1,1)
将产生
序列
(5
1)。
/F
["
options"
]
(file-set)
command
("
string"
)
(command)
或者,如果有
usebackq
选项:
filenameset
为一个或多个文件名。
继续到
filenameset
中的下一个文件之前,每份文件都已被打开、读取并经过处理。
处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。
然后用已找到的符号字符串变量值调用
For
循环。
以默认方式,/F
通过每个文件的每一行中分开的第一个空白符号。
跳过空白行。
您可通过指定可选
参数替代默认解析操作。
这个带引号的字符串包括一个或多个指定不同解析选项的关键字。
这些关键字为:
eol=c
-
指一个行注释字符的结尾(就一个)
skip=n
指在文件开始时忽略的行数。
delims=xxx
指分隔符集。
这个替换了空格和跳格键的
默认分隔符集。
tokens=x,y,m-n
指每行的哪一个符号被传递到每个迭代
的
for
本身。
这会导致额外变量名称的
格式为一个范围。
通过
nth
符号指定
m
符号字符串中的最后一个字符星号,
那么额外的变量将在最后一个符号解析之
分配并接受行的保留文本。
usebackq
指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且引号字符为文字字符串命令并允许在
fi中使用双引号扩起文件名称。
sample1:
eol=;
tokens=2,3*
delims=,
in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学会 批量 处理