windows bat常见操作

一、常见命令

1.md 创建目录

或者写mkdir也可以

md test

2.rd 删除目录

/S 递归删除
/Q 安静模式 不提示

rd /S /Q test

3.copy复制

copy /Y zhangsan/zhangsan.txt lisi

4.del 删除文件

/Q 安静模式

del /Q lisi\

5.type显示文件内容

type 1.txt

6.netstat查看端口

netstat -an

7.tasklist进程管理

tasklist 显示所有进程
taskkill 杀掉进程
    taskkill /F /pid 92916  
    /F 强制杀死

二、批处理

1.echo

打开回显或关闭请求回复功能,或显示消息.

关闭命令的执行结果 只显示结果
@echo off

2.pause

命令暂停

3.start

调用外部程序:
	start calc

4.set

设置变量

[设置变量]
格式:set 变量名=变量值
	set name=zhangsan

[引用变量]
格式: %变量名%
	echo %name%

[取消变量]
格式:set 变量名=
详细:取消后的变量若被引用%变量名%将为空

[展示变量]
格式:set 变量名
	set name

[列出所有可用的变量]
格式:set

三、循环

1. 没有开关的for

实例:

@echo off
for %%i in (1,2,3)do ( 
	echo %%i
)
pause > nul

注意: 
	(  不能换行,和do之间一定要空格
	

2. 带/f的for循环

带/F的for循环能对字符串进行操作,也能够对命令的返回值进行操作

test.txt文件内容:
hello
hahahha
test
123
读取文本内容
@echo off
for /f %%i in (test.txt)do ( 
	echo %%i
)

pause > nul

3. /f的delims参数

读取到什么位置就不要在往后读取了

文件内容如下:
name:zhangsan
age:20
gender:boy
@echo off

for /f "delims=:" %%i  in (test.txt)do (
	echo %%i
)
结果如下:
name
age
gender
每行都读取到:就不在往后读取了

4. /f 的tokens

文件内容如下:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

@echo off

for /f "delims=: tokens=7" %%i  in (test.txt)do (
	echo %%i
)
    
结果如下:

/bin/bash
/sbin/nologin

这个功能和awk很像。delims 指定分隔符,tokens 指定打印第几段

4.1 打印多段
@echo off

这里要注意 如果要打印多段 变量的值要从定义的%%a 按照26字母顺序往后排
for /f "delims=: tokens=1,7" %%a  in (test.txt)do (
	echo %%a,%%b
)

root,/bin/bash
bin,/sbin/nologin
4.2 读取带空格的文本
hello world
echo test
I am a student
@echo off

for /f  %%a  in (test.txt)do (
	echo %%a
)

结果如下:如果文本中空格,for在读取文本时候,就会已空格和tab作为读取分割符号
hello
echo
I    
如果读取所有的内容,代码如下:
@echo off

for /f  "tokens=*" %%a  in (test.txt)do (
	echo %%a
)

结果如下:
hello world
echo test
I am a student

5./f 的skip参数

从第n行开始读取

文本内容如下:
111
222
333
444
555
666
@echo off

for /f  "skip=3" %%a  in (test.txt)do (
	echo %%a
)

pause > nul

结果如下:
444
555
666

四、if判断

1.命令返回值

%errorlevel%

@echo off

set comm=netstat -an

%comm% > nul 2> nul

#判断netstat -an命令是否执行成功
if %errorlevel% == 0 (
	echo "Ok"
) else (
	echo "faild"
)

pause > nul

2.判断目标(文件&目录)是否存在

@echo off

if exist test (
	rd test
) else (
	mkdir test
)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值