深入解析Windows批处理(CMD/BAT)编程技巧与指南

更新:11-13 现代故事 我要投稿 纠错 投诉

大家好,今天小编来为大家解答以下的问题,关于深入解析Windows批处理(CMD/BAT)编程技巧与指南,这个很多人还不知道,现在让我们一起来看看吧!

参考: http://blog.csdn.net/bingjie1217/article/details/12947327

http://www.cnblogs.com/doit8791/archive/2012/05/20/2511001.html

在开始之前,我先简单解释一下cmd文件和bat文件的区别:两者本质上没有什么区别。它们都是简单的文本编码方法,可以使用记事本创建、编辑和查看。两者使用的命令行代码也相同,但是cmd文件比bat文件允许更多的命令。 cmd文件只能在Windows 2000以上系统上运行,而bat文件则没有这个限制。上述区别从它们的文件描述中也可以看出:cmd文件的描述是“windows nt命令脚本”,bat文件的描述是“ms dos批处理文件”

如果没有一定的相关知识,阅读和理解批处理文件可能都不容易,更不用说自己编写了。批处理文件是包含一个或多个命令的无格式文本文件。其文件扩展名是.bat 或.cmd。在命令提示符处输入批处理文件的名称,或者双击该批处理文件,系统将调用cmd.exe按照文件中出现的顺序一一运行该文件中的命令。使用批处理文件(也称为批处理程序或脚本)来简化日常或重复性任务。当然,我们这个版本的主要内容是介绍批处理在入侵中的一些实际应用,比如使用批处理文件给系统打补丁、批量植入后门程序,这些我们后面会提到。让我们开始我们的批处理学习之旅吧。

1.简单批处理内部命令介绍

1)回显命令

打开或关闭回声,或显示消息。如果没有任何参数,echo 命令将显示当前的echo 设置。

语法

回声[{开|关}][消息]

样本1:

@echooff

回声你好世界

样本2:

@回声关闭

回声1

回声。

回声2

回声

回声3

暂停

在实际应用中,我们会将该命令与重定向符号(也称为管道符号,通常是^)结合起来,将一些命令输入到特定格式的文件中。这将在以后的示例中得到体现。

c:dir *.txt 1.txt

c:dir *.txt 1.txt

2)@命令

意思是@后面的命令不会显示。在入侵过程中(例如使用批处理格式化敌方硬盘),对方自然看不到你使用的命令。

示例:@echo 关闭

3)转到命令

指定跳转到标签。一旦找到标签,程序将从下一行开始处理命令。

语法:goto label(label是一个参数,指定批处理程序中要重定向的行。)

样本:

if { %1 }=={ } 转到noparms

if { %2 }=={ } goto noparms (如果不明白这里的if、%1、%2,先跳过,后面会有详细解释。)

@Rem 检查参数如果为null 显示用法

:noparms

echoUsage:monitor.bat服务器IP端口号

转到结束

标签的名称可以任意,但最好使用有意义的字母。在字母前添加:表示该字母是标签。 goto 命令基于此:找到下一步并跳转到那里。最好有一些解释,以便其他人能够理解你的意图。

4)rem命令

注释命令相当于C语言中的/*--------*/。它不会被执行,只是作为注释,方便别人阅读和你以后修改。

雷姆留言

示例:@Rem 这是描述。

5)暂停命令

运行暂停命令时,会显示以下消息:

按任意键继续。

样本:

@回声关闭

:开始

复制a:*.* d:\back

echo 请将新磁盘放入驱动器A

暂停

转到开始

在此示例中,驱动器A 中的磁盘上的所有文件都复制到d:\back。当显示注释提示您将另一个磁盘放入驱动器A 时,暂停命令会导致程序挂起,以便您可以更换磁盘,然后按任意键继续处理。

6)调用命令

从另一个批处理程序调用一个批处理程序,而不终止父批处理程序。 call 命令接受一个标签作为调用的目标。如果您在脚本或批处理文件之外使用调用,则它将无法在命令行上运行

语法

调用[[Drive:][路径] 文件名[批参数]] [:标签[参数]]

范围

[Drive:}[路径] 文件名

指定要调用的批处理程序的位置和名称。文件名参数必须具有.bat 或.cmd 扩展名。

7)启动命令

开始

启动单独的命令提示符窗口来运行指定的程序或命令。如果不带参数使用,start 将打开第二个命令提示符窗口。

语法

开始["标题"] [/dPath] [/min] [/max] [{/separate |/shared}] [{/low | /正常| /高| /实时| /高于正常水平|低于正常}][/wait ] [/B] [文件名] [参数]

范围

"title" 指定要在命令提示符窗口的标题栏中显示的标题。

/dpatch 指定启动目录。

/i 将Cmd.exe 启动环境转移到新的命令提示符窗口。

/min 启动一个新的最小化窗口。

/max 启动一个新的最大化窗口。

/separate 在单独的内存空间中启动16 位程序。

/shared 在共享内存空间中启动16 位程序。

/low 以空闲优先级启动应用程序。

/normal 以普通优先级启动应用程序。

/high 以高优先级启动应用程序。

/realtime 以实时优先级启动应用程序。

/abovenormal 启动高于正常优先级的应用程序。

/belownormal 以低于正常优先级的优先级启动应用程序。

/wait 启动应用程序并等待其完成。

/b 启动应用程序而不打开新的命令提示符窗口。除非应用程序启用CTRL+C,否则CTRL+C 操作将被忽略。使用CTRL+BREAK 中断应用程序。

只需将文件名作为命令键入即可通过其文件关联来运行非可执行文件。有关使用assoc 和ftype 在命令脚本中创建这些关联的详细信息,请参阅“”。

当运行命令的第一个标记是“CMD”字符串但不包含扩展名或路径限定符时,“CMD”将被COMSPEC 变量的值替换。这可以防止用户从当前目录中选择cmd。

当您运行32 位图形用户界面(GUI) 应用程序时,cmd 不会等待应用程序退出就返回到命令提示符。如果您从命令脚本运行应用程序,则不会出现这种新情况。当您运行的命令中的第一个符号不包含扩展名时,Cmd.exe 将使用PATHEXT 环境变量的值来确定要查找的扩展名以及查找顺序。 PATHEXT变量的默认值为:COM;EXE;BAT;CMD(语法与PATH变量相同,使用分号分隔不同元素)。当您搜索可执行文件并且没有任何扩展名匹配时,开始搜索目录名称。

具体例子:

注意:如果你的程序路径中有空格,必须将路径用“”括起来,否则系统会提示找不到XX文件。另外,运行某些程序时,需要在路径前面添加一对。空白“”表示创建一个空白窗口,它指向的程序是XXXXXXXX。并且不要忘记空格。

当我想运行位于“D:draw”中的“photoshop.exe”时,我应该使用以下命令:

start “”D:drawphotoshop.exe” 表示在常规窗口中运行程序

如果您希望程序在最大化窗口中运行,请使用以下命令:

start /max "" "D:drawphotoshop.exe" 表示在最大化窗口中运行程序

像这样最小化这个:

start /min "" "D:drawphotoshop.exe" 表示在最小化窗口中运行程序

等待一个程序被允许完成,即窗口关闭后,再打开下一个程序。这可以这样做:

启动/w "" "D:drawphotoshop.exe"

启动“cmd.exe”

启动/min “” “e:t.cmd”

8)选择命令

选择使用此命令通过让用户输入字符来运行不同的命令。使用时需要添加/c:参数。 c:后面应该写出提示符中可以输入的字符,字符之间不能有空格。它的返回码是1234……

如:选择/c:dme defrag,mem,end

将显示

碎片整理,内存,结束[D,M,E]?

样本:

Sample.bat内容如下:

@回声关闭

选择/c:dme 碎片整理、内存、结束

OK,本文到此结束,希望对大家有所帮助。

用户评论

桃洛憬

我一直想学习windows批处理,这篇文章能让我了解一下吗?

    有9位网友表示赞同!

孤败

看来要学习点高级操作了,微软官方文档太难懂啦。

    有9位网友表示赞同!

放血

终于有人讲解清楚了,之前各种看不懂啊。

    有16位网友表示赞同!

你身上有刺,别扎我

cmd命令行总觉得没那么好用,批处理更方便吧。

    有19位网友表示赞同!

雁過藍天

我的自动化脚本可以用这些知识来优化吗?

    有7位网友表示赞同!

丢了爱情i

学习一下批处理能让我写一些小脚本提高工作效率?

    有14位网友表示赞同!

你瞒我瞒

原来还有这么多功能啊,感觉windows cmd真的很有用!

    有12位网友表示赞同!

念旧情i

这篇文章内容很详细,适合新手上手吗?

    有10位网友表示赞同!

别悲哀

看了标题我立刻想到以前写过的一些批处理脚本,好怀念呢。

    有13位网友表示赞同!

孤廖

我想知道一些常用的批处理语法,这篇文章会有吗?

    有18位网友表示赞同!

拥抱

我需要学习一下如何利用批处理进行文件操作。

    有16位网友表示赞同!

妄灸

这篇文章可以帮助我解决哪些windows命令行的问题?

    有11位网友表示赞同!

有些人,只适合好奇~

看来学习批处理能增强我的系统管理能力啊!

    有17位网友表示赞同!

一样剩余

批处理和python哪个更常用?适合新手入门吗?

    有12位网友表示赞同!

心脏偷懒

想了解一些高级批处理技巧,比如如何用循环操作文件。

    有17位网友表示赞同!

权诈

期待这篇文章能讲解一些实用的批量任务脚本编写方法。

    有14位网友表示赞同!

如梦初醒

这篇文章能让我高效地解决日常办公中的自动化任务吗?

    有6位网友表示赞同!

花海

感觉学习批处理后可以更好地控制windows操作系统了!

    有14位网友表示赞同!

单身i

我想学习如何利用批处理创建快捷方式或启动程序。

    有5位网友表示赞同!

在哪跌倒こ就在哪躺下

终于有人写过一篇通俗易懂的批处理教程,太棒了!

    有19位网友表示赞同!

【深入解析Windows批处理(CMD/BAT)编程技巧与指南】相关文章:

1.动物故事精选:寓教于乐的儿童故事宝库

2.《寓教于乐:精选动物故事助力儿童成长》

3.探索动物旅行的奇幻冒险:专为儿童打造的童话故事

4.《趣味动物刷牙小故事》

5.探索坚韧之旅:小蜗牛的勇敢冒险

6.传统风味烤小猪,美食探索之旅

7.探索奇幻故事:大熊的精彩篇章

8.狮子与猫咪的奇妙邂逅:一场跨界的友谊故事

9.揭秘情感的力量:如何影响我们的生活与决策

10.跨越两岸:探索彼此的独特世界

上一篇:手机赚钱攻略:揭秘12种轻松日入100元的方法 下一篇:揭秘街头理发店:个性化服务与价格优势并存