当前位置:   article > 正文

bat文件编写方式_.bat文件如何编写

.bat文件如何编写

DOS基本命令

命令解释实例
/?查看命令帮助信息例如查看命令set的帮助信息:set /?
echo表示输出或回显echo hello world
echo off表示只显示运行结果不显示命令行本身;
echo on输出命令行本身及回显内容
remrem 表示此命令后的字符为注释,不执行;但会显示在执行页面;rem 使用wps 注释将使用wps
::是注释语句,在批处理文件中和rem等效执行的时候::完全不会显示,但是rem是一个命令,如果rem前面没有加@是会显示的
pause表是暂停,执行到pause会提示请按任意键继续. . .
@@与echo off 相象,加载在每个命令行的最前面,表示运行时不显示这一行的命令行,只输出运行结果
@echo offecho off和@echo off的区别?echo off是执行时不显示此语句后的所有命令行,但还会显示echo off;@echo off是执行时不显示本行(echo off)及后面的所有命令行
md在bat脚本中是创建文件夹的命令;如:在D盘创建一个Hello文件 ,md D:Hello;也可以创建多个文件夹或多层级文件夹,md D:Helloxixi estreport,若是testreport已经存在,会给出提示;如xixi目录已经存在,则直接使用,不存在则自动创建;
start调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用
renren可以用来重命名名字也可以重命名文件;
rd删除文件夹使用rd命令;如果删除的文件夹下面有子文件或文件必须加参数/s;删除文件,再次确认删除后,再查找是否存在该文件;
movemove 用来移动文件夹或者文件;
title给cmd窗口加上标题title 国庆期间
copy拷贝文件;
rd删除文件rd只能删除空文件夹,rd /s 删除非空文件夹
del删除文件夹如果不指定具体路径,可能会把运行该脚本路径下所有的文件删除
cd切换目录C:\PerfLogs>D: D:>cd 个人文件
callcall调用另一条批处理文件(如果直接调用别的批处理文件,执行完那条文件后将无法执行当前文件后续命令)call c:\ucdos\ucdos.bat    调用ucdos.bat
dir查看文件及目录dir c:*.*>a.txt       将c盘文件列表写入a.txt
type显示文件内容
:和goto为什么要把这两个命令联合起来介绍?因为它们是分不开的,无论少了哪个或多了哪个都会出错。goto是 个跳转命令,:是一个标签。 当程序运行到goto时,将自动跳转到:定义的部分去执行见 1、:和goto
mkdir创建文件夹是md一起用用看
rmdir删除文件夹和rd命令一样
set设置变量set /a 是表示做数学运算

实例介绍

1、:和goto

@echo off  
:begin  
copy a:*.* d:/back  
echo Please put a new disk into driver A  
pause  
goto begin  |
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2、start cmd /k

start cmd /k|启动cmd并执行命令
start cmd /k “命令1 & 命令2 & 命令3” (无论前面命令是否成功, 后面都会执行
start cmd /k "命令1 && 命令2 && 命令3 " (仅当前面命令成功时, 才执行后面)
start cmd /k “命令1 || 命令2 || 命令3” (仅当前面命令失败时. 才执行后面)

@echo hello world1我们的家园多么美丽
@echo hello world2我们的家园多么美丽啊
@echo hello world3我们的家园多么美丽啊!!!
start cmd /k "nmap 192.168.110.224 >D:\2222.txt && type D:\2222.txt" 
pause
  • 1
  • 2
  • 3
  • 4
  • 5

运行结果
在这里插入图片描述

3、start运行某个程序

@echo hello world1我们的家园多么美丽
@echo hello world2我们的家园多么美丽啊
echo hello world3我们的家园多么美丽啊!!!
start C:\"Program Files (x86)"\Tencent\QQ\Bin\QQ.exe
start "" "C:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe"
pause
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

运行结果:
在这里插入图片描述

4、dat中的管道、重定向命令

@echo off | echo hello world  
@echo off | echo hello world  >hello.txt
@echo off | echo hello world  >>world.txt
@title 国庆快乐
pause
  • 1
  • 2
  • 3
  • 4
  • 5

运行结果:
在这里插入图片描述

5、创建文件、文件夹、删除文件夹及文件

echo off
md D:\wangxing
md D:\wang\xing
md D:\star1 star2 star3 
rd D:\wangxing
copy nul D:\wang\xing\3.rtf
del /s D:\wang\xing\3.rtf
pause
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

运行结果
在这里插入图片描述

6、set设置变量与引用

@title set用法学习
@echo off
::set用法与变量引用
set a=”hello world”
echo %a%
::从键盘输入
set /p a=”Input a number:”
echo %a%
::支持算术,/a是指算数运算
set /a a=1+2
echo %a%
set /a a-=1
echo %a%
set /a a*=3
echo %a%
set /a a/=3
echo %a%
pause
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

运行结果:
在这里插入图片描述

7、del 的用法

下面脚本名称为05new.dat

@echo off
del /s 111.txt
sleep 1
start cmd /k nmap %1 >>111.txt
pause
  • 1
  • 2
  • 3
  • 4
  • 5

在D盘下执行,发现该脚本把我D盘下非根目录的111.txt文件也删除掉了,使用的时候一定要注意
运行结果
在这里插入图片描述

8、脚本带入参数的用法

如上面的例子,我写脚本的时候并不知道我要扫描的ip是多少,在真实使用的时候才清楚,那么怎么办呢?%1表脚本后跟的第一个参数,%2表示脚本后第二个参数,以此类推

::脚本名称05.dat
@echo off
start cmd /k nmap %1 >>111.txt
pause
  • 1
  • 2
  • 3
  • 4

调用的时候方式为:05.bat 192.168.104.99 #可参见7、del 的用法图中的样子

创建文件

echo … > A.txt #重定向输出
echo … >>A.txt #向A.txt文件中追加信息
copy con A.txt #创建A.txt文本文件; …^Z ;输入内容…;按CTRL+Z键,之后再回车;
copy a.txt b.txt
type nul>filename #可创建一个空文件
type filename.txt >1.txt
copy nul A.txt #可创建一个空文件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/177147
推荐阅读
相关标签
  

闽ICP备14008679号