一些windows批处理脚本

本文记录一些平时使用到的bat语法。

1. 获取当前目录

获取当前路径

@echo off

set DriveLetter=%~d0
echo %DriveLetter%

set filePath=%~p0
echo %filePath%
 
set filePath=%DriveLetter%%filePath%
echo current path: %filePath%
echo current path: %cd%

pause

执行结果:

D:
\ProgramWorkspace\ShellNotes\Windows\
current path: D:\ProgramWorkspace\ShellNotes\Windows\
current path: D:\ProgramWorkspace\ShellNotes\Windows

2. 获取目录中的文件和子目录

可以使用 dir 命令来获取某个目录下的文件或者子目录文件,使用 dir /? 命令查看帮助文档。

下面介绍几种使用方法:

# 显示当前目录下的文件、子目录以及子目录下的文件
dir /a /b /s

# 只显示当前目录下的文件
dir /b /a-d

# 从大到小排序
dir /b /a-d /o-s

# 显示后缀为bat的文件
dir /b /a-d /o-s *.bat

bat脚本打印当前目录下的bat文件:

@echo off

for /f "delims=\" %%a in ('dir /b /a-d /o-s "%cd%\*.bat"') do (
  echo %%a
)

pause

3. 读取配置文件

创建一个配置文件 config.ini :

host=192.168.0.1
port=8100

读取host和port的值:

@echo off

:: 读取配置
for /f "tokens=1,2 delims==" %%a in (config.ini) do (
	if %%a==host set host=%%b
	if %%a==port set port=%%b
) 

echo host: %host%
echo port: %port%

pause

运行结果:

host: 192.168.0.1
port: 8100

4. 清空文件内容

清空 test.log 文件中的内容:

cd.>test.log

linux shell清空文件内容方法参考Linux常用命令:文件操作命令

5. 打印换行

使用 echo. 打印换行:

@echo off

echo hello
echo.
echo world

pause 

6. 设置窗口显示颜色

语法:

COLOR [attr]

颜色属性 attr 可用于设置背景和前景的设置,可以设置的颜色:

  • 0 = 黑色
  • 1 = 蓝色
  • 2 = 绿色
  • 3 = 浅绿色
  • 4 = 红色
  • 5 = 紫色
  • 6 = 黄色
  • 7 = 白色
  • 8 = 灰色
  • 9 = 淡蓝色
  • A = 淡绿色
  • B = 淡浅绿色
  • C = 淡红色
  • D = 淡紫色
  • E = 淡黄色
  • F = 亮白色

例如设置窗口为白色背景,红色文字:

@echo off

color 74

echo Hello world !

pause

效果:

--THE END--
posted @ 2021-11-04 10:17  测试开发小记  阅读(269)  评论(0编辑  收藏  举报