一、简单批处理内部命令简介

1.Echo 命令 –显示

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

语法:

echo [{on│off}] [message]

Sample:@echo off / echo hello world

Pause  //用pause才能使窗体停止

在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中。

2.@ 命令 –隐藏命令本身

表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。 
Sample:@echo off 
@echo Now initializing the program,please wait a minite... 
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。) 

3.Goto 命令

指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。 
语法:goto label (label是参数,指定所要转向的批处理程序中的行。) 
Sample: 
if {%1}=={} goto noparms 
if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。) 
@Rem check parameters if null show usage 
:noparms 
echo Usage: monitor.bat ServerIP PortNumber 
goto end 
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。 

4.Rem 命令 –注释

注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你 自己日后修改。 
Rem Message 
Sample:@Rem Here is the description. 

5.Pause 命令

  运行 Pause 命令时,将显示下面的消息:

  Press any key to continue . . .

Sample:

@echo off

:begin

copy a:*.* d:\back

echo Please put a new disk into driver A

pause

goto begin

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

6.Call 命令

从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签 。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。 
语法: 
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]] 
参数: [Drive:}[Path] FileName 指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。
参考:windows bat脚本编写

二、在Windows批处理文件中引用日期和时间的方法

1、 %DATE% 输出的是: yyyy/mm/dd  星期* (例如:2008/12/18 星期四) 
引用格式:%DATE:~x,y% 
x=起始坐标,y=从x开始截取字符个数

如: 
%DATE:~0,4% --> yyyy 
%DATE:~5,2% --> mm 
%DATE:~8,2% --> dd

如取出格式为 YYYYMMDD 的日期:%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%    
-->20081218

2、 %TIME% 输出的是:hh24:mi:ss.ms
(例如:10:49:12.17) 
引用格式:%TIME:~x,y% 
x=起始坐标,y=从x开始截取字符个数

如: 
%TIME:~0,2% --> hh 
%TIME:~3,2% --> mi 
%TIME:~6,2% --> ss

如取出格式为
HHMMSS 的时间:%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%    
-->104912

输出格式化后的日期时间:%DATE:~4,4%%DATE:~9,2%%DATE:~12,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%    
-->20081218104912

参考:在Windows批处理文件中引用日期和时间的方法

三、bat脚本自动创建文件夹

示例:利用bat脚本进行wireshark抓包时 自动创建一系列文件

@Rem 文件以管理员权限运行

@echo off

set prefix=E:\pcaplog\

set suffix=.pcap

set xiegan=\

:loop

@Rem 需要切换到tshark.exe的目录下

cd C:\Program Files (x86)\Wireshark\

@Rem date:~0,4 从0位置开始的4个字符,2017/10/16 注意斜杠

set h=%TIME:~0,2%

If %h% leq 9 (Set h=0%h:~1,1%)

set timestr=%date:~0,4%%date:~5,2%%date:~8,2%%h%%time:~3,2%%time:~6,2%

set daystr=%date:~0,4%%date:~5,2%%date:~8,2%

mkdir "%prefix%%daystr%    @若文件夹已存在,则不会创建

set dest=%prefix%%daystr%%xiegan%%timestr%%suffix%

@Rem tshark或者tshark.exe。eth0是网卡的名字,需要将“本地连接”重命名为eth0

@Rem tshark -i eth0 -s 0 -c 3000 -w %dest%

tshark -i eth0 -s 0 -c 5000 -w %dest%

goto:loop

pause

bat批处理运用的更多相关文章

  1. 【工作笔记】BAT批处理学习笔记与示例

    BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...

  2. 如何用bat批处理编译swf项目

    平时用FB等IDE编译多模块的游戏项目时,除了添加移除模块的操作很繁琐外,编译速度也非常之慢.而用bat来编译swf项目,速度非常快,稳定. 在此分享自己工作用的bat,每次运行会重新编译主模块Gam ...

  3. atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux

    atitit.添加win 系统服务 bat批处理程序服务的法总结instsrv srvany  java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过运行一个EXE就启动视窗系 ...

  4. 使用BAT批处理执行sql语句的代码

    使用BAT批处理执行sql语句的代码 有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法 1.把待执行Sql保存在一个文件,这里为2011022 ...

  5. BAT批处理(二)

    在前一篇中已对BAT批处理基础作了一些总结,但是对于BAT批处理还有很多的知识点没有讲解到,比如DOS中的特殊符号:IF.FOR的使用:变量:更多的DOS命令等等.本文在前一篇的基础上继续对BAT批处 ...

  6. SC命令---安装、开启、配置、关闭 cmd命令行和bat批处理操作windows服务

      一.cmd命令行---进行Windows服务操作 1.安装服务 sc create 服务名 binPath= "C:\Users\Administrator\Desktop\win32s ...

  7. 执行一条cmd命令的window.bat 批处理代码:

    . .执行一条cmd命令的window.bat 批处理代码: @echo off echo NodeJS SUPERVISOR...Server.js ::下面是批处理代码 supervisor d: ...

  8. js/bat批处理调用谷歌浏览器chrome批量打开网页测试web性能

    批处理批量打开网页 其实用java就可以搞定,但是这么一个轻巧的测试,js或者bat批处理去一次性打开几百个网页测试一下页面没必要上java 两者的区别,js的话,只能打开多个浏览器实例,不方便查看效 ...

  9. .bat批处理命令的介绍

    HUC = = D组 http://www.cnhonkerarmy.com/ 63707869 =====================================开始============ ...

  10. 【转载】BAT 批处理脚本教程

    来源:http://www.cnblogs.com/glaivelee/archive/2009/10/07/1578737.html BAT 批处理脚本 教程   第一章 批处理基础第一节 常用批处 ...

随机推荐

  1. C++动态内存常见面试题解析

           malloc/free和new/delete傻傻分不清?动态内存管理的面试题难道你了?来看这篇文章,包你全会. 1.malloc/free和new/delete的区别   (1)mall ...

  2. Symmetric Order

    #include<stdio.h> int main() { ; ][]; ) { ;i<=n;i++) { scanf("%s",&str[i]); } ...

  3. 米联客 osrc_virtual_machine_sdx2017_4 虚拟机的使用

    今天大部分时间都在高csdn的博客的,一直无法和word关联,来不及写使用教程了,先发下载链接. 虚拟机安装的是ubuntu16.4.3,vivado软件是SDX2017.4版本,包括的vivado2 ...

  4. 在论坛中出现的比较难的sql问题:40(子查询 销售和历史库存)

    原文:在论坛中出现的比较难的sql问题:40(子查询 销售和历史库存) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有 ...

  5. SQL Server邮件标识点

    <br>---换行 &nbsp:---空格 <H1></H1>---标题 --定义表格格式 N'<table border="1" ...

  6. element-ui里的form校验,一直有点疑惑,prop是怎么对应的?

    图一 图一中红框内的这种校验,必须在 这个product_form数据域内定义对应的变量名(cid.itemName......),不然对应不上. 图一红框外的那种校验,则不用在数据域内定义对应的变量 ...

  7. eval函数和isNaN函数

    (一)eval函数定义:eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. (二)语法:eval(string)string必需. (三)返回值:通过计算 string ...

  8. English-培训2-五大句型

  9. bootstrap 模态窗口 多重/多个弹窗滚动条补丁

    由于bootstrap的模态窗口默认不支持多次弹出, 在关闭的时候会有滚动条消失的问题. 经过观察和查看源码, 发现在开启和关闭的时候会在body上增加/减少一个"modal-open&qu ...

  10. MySQL基础篇

    数据库基础知识 以MySQL为基础 数据库事务 :数据库中一组原子性的SQL操作,彼此状态一致.具有ACID特性. 事务 ACID 特性: 原子性:数据库事务是一个整体,其中的SQL操作要么全部提交成 ...