windows - bat -自动化运维基础和常用命令


一.简单批处理内部命令简介
1.Echo 命令
打开回显或关闭请求回显功能,或显示消息。
2.@ 命令
表示不显示@后面的命令,但是会显示结果
3.Goto和: 命令
:定义标签,goto跳转到标签
4.Rem ::注释命令
::不显示不执行,rem显示不执行
5.Pause 命令
暂停命令
6.Call 命令
调用本文件内命令段,相当于子程序.被调用的命令段以标签:label开头,以命令goto :eof结尾。
Call :sub tmp.txt
:sub
Echo 删除引号: %~1
Goto :eof

7.start 命令
调用外部程序
8.choice 命令
CHOICE /C ab /N /M "选项 1 请选择 a,选项 2 请选择 b。"
if %errorlevel%=="a" goto end
/C 创建选项列表ab默认是 "YN",/N 不显示选项列表,/m 设置提示文字,/t 设置暂停时间后自动选择默认项,/d 设置默认项
9.If 命令
判断是否符合规定的条件,从而决定执行不同的命令
if “参数” == “字符串” 待执行的命令 :条件成立,运行命令
if exist 文件名 待执行的命令:如果有指定的文件,运行命令
if errorlevel / if not errorlevel 数字 待执行的命令:程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1
10.for 命令
/d仅为目录
/R递归(文件名)
/L迭代数值范围
/F迭代及文件解析
11.set 命令
set string=csdn 赋值,echo %string% 使用值
set /P INPUT= 设置为输入值
12.net start 查看所有服务
13.tasklist 查看所有进程
14.taskkill 结束进程 taskkill /f /t /im "iex*"
/IM 指定要终止的进程的映像名称。通配符 '*'可用来指定所有任务或映像名称。
/T 终止指定的进程和由它启用的子进程。
/F 指定强制终止进程。

二.如何在批处理文件中使用参数
批处理中可以使用参数,一般从1%到 9%这九个

三.如何使用组合命令
1.& 第一条命令 & 第二条命令 [& 第三条命令…]
这种方法可以同时执行多条命令,而不管命令是否执行成功
2.&& 第一条命令 && 第二条命令 [&& 第三条命令…]
碰到执行出错的命令后将不执行后面的命令
3.││ 第一条命令 ││ 第二条命令 [││ 第三条命令…]
碰到执行正确的命令后将不执行后面的命令

四、管道命令的使用
1.│ 第一条命令 │ 第二条命令 [│ 第三条命令…]
第一条命令的结果作为第二条命令的参数来使用
2.>、>>输出重定向命令
>覆盖内容,>>追加内容


robocopy 高级复制

 

常用命令
----------------命令----------------
Del:删除文件
Copy:复制文件
Xcopy:复制文件夹
Md:创建文件夹
rd:删除文件夹
ren:重命名文件(夹)
move:移动文件(夹)
find:字符串查找
findstr:字符串查找增强,可以进行模式匹配搜索
pushd c:\mp3 保存当前目录,并切换当前目录为 c:\mp3
popd 恢复当前目录为刚才保存的 d:\mp4
----------------dir命令----------------
dir 显示当前目录中的文件和子目录
dir /a 显示当前目录中的文件和子目录,包括隐藏文件和系统文件
dir c: /a:d 显示 C 盘当前目录中的目录
dir c: /a:-d 显示 C 盘根目录中的文件
dir c:\ /b/p /b只显示文件名,/p分页显示
dir *.exe /s 显示当前目录和子目录里所有的.exe文件
----------------其它----------------
@choice /t 10 /d y /n >nul 等待10秒
rd /s/q d:\temp 删除d:\temp 文件夹及其子文件夹和文件
del /q/a/f/s d:\temp\*.* 删除 d:\temp及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
ren d:\temp tmp 支持对文件夹的重命名
cls命令 清屏
type *.txt 显示当前目录里所有.txt文件的内容
xcopy d:\mp3 e:\mp3 /s/e/i/y
复制 d:\mp3 文件夹、所有子文件夹和文件到 e:\ ,覆盖已有文件
加 /i 表示目标文件夹不存在就自动新建一个,否则会有询问
----------------date和time命令----------------
date 显示当前日期,并提示输入新日期,按\"回车\"略过输入

date /t 只显示当前日期,不提示输入新日期

time 显示当前时间,并提示输入新时间,按\"回车\"略过输入

time/t 只显示当前时间,不提示输入新时间
----------------find命令------------------------
find \"abc\" c:\test.txt
在 c:\test.txt 文件里查找含 abc 字符串的行,如果找不到,将设 errorlevel 返回码为1

find /i “abc” c:\test.txt
查找含 abc 的行,忽略大小写

find /c \"abc\" c:\test.txt
显示含 abc 的行的行数
----------------for命令------------------------
循环命令
for %%i in (c: d: e: f:) do echo %%i
依次调用小括号里的每个字符串,执行 do 后面的命令
注意%%i,在批处理中 for 语句调用参数用2个%

for %%i in (*.txt) do find \"abc\" %%i
对当前目录里所有的txt文件执行 find 命令

for /r . %%i in (*.txt) do find \"abc\" %%i
在当前目录和子目录里所有的.txt文件中搜索包含 abc 字符串的行

for /r . %%i in (.) do echo %%~pni
显示当前目录名和所有子目录名,包括路径,不包括盘符

for /r d:\mp3 %%i in (*.mp3) do echo %%i>>d:\mp3.txt
把 d:\mp3 及其子目录里的mp3文件的文件名都存到 d:\mp3.txt 里去

for /l %%i in (2,1,8) do echo %%i
生成2345678的一串数字,2是数字序列的开头,8是结尾,1表示每次加1

for /f %%i in ('set') do echo %%i
对 set 命令的输出结果循环调用,每行一个

for /f \"eol=P\" %%i in ('set') do echo %%i
eol忽略以 P 开头的那几行

for /f %%i in (d:\mp3.txt) do echo %%i
默认不支持带空格的名称

for /f \"delims=\" %%i in (d:\mp3.txt) do echo %%i
delims支持带空格的名称

for /f \"skip=5 tokens=4\" %%a in ('dir') do echo %%a
skip跳过前面5行,tokens每行取第4列

启动服务
net start 查看启动中的服务
服务名启动 net start "服务名"
服务名停止 net stop "服务名"

用sc可打开被禁用的服务,语法是:【Start=号后面有空格】
创建服务
sc create test3 binPath= "C:\Users\win32srvDemo.exe"
配置服务
sc config 服务名 start= demand //手动
sc config 服务名 start= auto //自动
sc config 服务名 start= disabled //禁用
启动和结束
sc start 服务名
sc stop 服务名


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM