bat脚本
今天用bat脚本做了一个自动修改几个配置文件内容的功能。
因为只是初略的看了一下bat的语法,用到的知识点只涉及了 :
rem 后面写注释
> 清空文件,然后向文件中写入内容
>> 向文件中追加内容
^ 如果要将10以内的数字单独作为 内容写入文件,需要在数字前加^
如果要将一个%写入文件,必须要在.bat文件中写两个%%
ren 修改文件夹名称
call 调用另一个批处理程序,而不终止父批处理程序。
setlocal enabledelayedexpansion 启用延时扩展
set /a 进行连续赋值;计算时,可以省略变量的%号或!号,极为方便,是带百分号的 加法的缩写
FOR /f 解析文本,读取字符串
“delim=” 取消默认以空格作为分隔符----批处理默认以空格作为分隔符,分隔符会隐藏第一个分隔符后面的内容,要显示完整的信息就需要取消该功能
FOR /L %%varible IN (start,step,end) DO conmmand ----start为开始计数的初始值,step为每次递增的值,end为结束值
echo xxxinfo>c:\configpeth\ip_config.txt
echo yyyyinfo>>c:\configpeth\ip_config.txt
echo ^2>c:\configpeth\link_config.txt
echo of:wefrrrr ^2>>c:\configpeth\link_config.txt
rem 下面这条指令执行之后,会在文件中写入hhh%hhh
echo hhh%%hhh>>c:\configpeth\vvv_config.txt
rem 下面这条指令执行之后,会将Java从入门到精通(第3版)文件夹的名字改成Java从入门到精通
ren "E:\java\Java从入门到精通(第3版)" "Java从入门到精通"
rem 下面这条指令会完整的输出字符串内容
FOR /f "delims=" %%a in ("我和我的祖国 一刻也不能分割 无论我走到哪里 都留下一首赞歌") do echo %%a
pause>nul
运行结果:
我和我的祖国 一刻也不能分割 无论我走到哪里 都留下一首赞歌
下面的这段代码实现删除文件最后一行
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (c:\test.txt) do (
set /a n+=1
set "m!n!=%%i")
set /a n-=1
(for /l %%i in ('1,1,!n!') do (
echo=!m%%i!))>c:\test.txt
Windows下start命令的参数及功能介绍:
START ["title"] [/MIN] [command/program][parameters]
"title" 在窗口标题栏中显示的标题
MIN 以最小化方式启动窗口