bat写一些简单的脚本还是挺强大的,也不需要软件,一个记事本就够了。我们把一些常用的总结起来,方便大家使用。

1.基础命令

//打印
@echo on //显示执行命令 默认
echo hello //输出  echo hello;hello
echo //输出 echo;ECHO 回显处于打开状态
@echo off //不显示执行命令
echo hello //输出  hello
echo // ECHO 回显处于关闭状态//清屏cls  回车//打开cmdstart cmd//调用其他bat 不中断执行a.bat时,调用call b.bat//查看已开端口netstat -a//打开网页curl -X GET www.xxx.com  或 cur www.xxx.comcur -X POST www.xxx.com  -F 'name=andy'  -F 'age=50' -F 'img=@/image/logo.jpg'curl -X GET www.xxx.com>log.txtset /p log=<log.txtecho log

2.查看操作
当前盘符:%~d0
当前盘符和路径:%~dp0
当前批处理全路径:%~f0
当前CMD默认目录:%cd%
切换CMD目录:cd cd…

//查看当前目录,文件夹和文件名字,日期,大小
dir
//查看当前目录,仅文件夹和文件名字
dir /b
//查看当前目录,仅文件夹
dir /b /a:d
//查看当前目录,仅文件
dir /b /a:a
//查看当前目录,包含子目录
dir /b /s

3.文件操作
3.1 创建

md 1 2 3
md 11;22;33
md 111,222,333
if not exist 1 ( md 1) else (echo "exist")

3.2 写入

@echo off
//双符号 >> 会将打开内容累计
echo hello>>temp.txt
echo word>>temp.txt
// 单符合 > 会将打开内容清空
echo goodbye>temp.txt
pause

3.3 复制
xcopy 是copy的扩展

// E 复制目录和子目录,包括空目录。
// S 复制目录和子目录文件,除了空目录  /S /E
// T 仅创建目录结构,不包括空目录或子目录 /T /E
// C 即使有错误,也继续复制。
// Y 禁止提示以确认覆盖一个现存目标文件。
// H 也复制隐藏和系统文件。
// R 改写只读文件。
xcopy 1.txt  d:\  /s /e /c /y /h /r
//取消提示 “是文件名还是目录名”
echo f| xcopy code.js code.min.js /S /e /c /y /h /r

3.4 删除

/** /S 删除所有包含子目录 /Q 安静模式,不需要确认 /F 删除只读文件*/
//删除目录
rd  d:\a  /s /q
//删除文件`在这里插入代码片`
del d:\a\1.txt  /f /s

3.5 压缩

//将1.txt打包成1.rar, ‘-ep1’表示不包含路径
rar a -ep1  "d:1.rar" "e:\1.txt"

3.6文件关联
mklink /j “D:/reource” “E:/resource” 软连接,只是映射

4.字符操作
4.1 截取字符串: ~0,5 参数1表示索引,参数2表示截取长度

set name=andy
//截取从0开始,长度为2
set name=%name:~0,2%
//截取最后2个字符
set name=%name:~-2%

4.2 替换字符串::a=b 将a替换为b

set name=andy
set name=%name:n=m%

5.循环操作
语法:FOR [参数] %%变量名 IN (相关文件或命令) DO 执行的命令
参数:for命令参数支持:/d /f /l /r 也可以不带参数
变量:在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable,而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.

5.1 /d 只显示当前目录下的目录名字,不包含子集目录
格式:FOR /D %variable IN (set) DO command [command-parameters]

//显示当前目录下与t*.*相匹配的文件(只显示文件名,不显示路径)
for %%i in (t*.*) do echo %%i
//显示d:\mydocuments\目录下与*.doc相匹配的文件
for %%i in (d:\mydocuments\*.doc) do @echo %%i
//显示c盘根目录下的所有目录
for /d %%i in (c:\*) do echo %%i
//显示当前目录下名字只有1-3个字母的目录
for /d %%i in (???) do echo %%i

5.2 /r 搜索指定路径及所有子目录中与set相符合的所有文件
格式:FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

//列举C盘文件名是boot.ini多有文件
for /r c:\ %%i in (boot.ini) do echo %%i
//列举C盘文件名包含boot的所有文件
for /r c:\ %%i in (boot.*) do echo %%i

5.3 /f 使用文件解析来处理文件、字符串及命令输出内容
格式:FOR /F [“options”] %%i IN (file) DO command
格式:FOR /F [“options”] %%i IN (“string”) DO command
格式:FOR /F [“options”] %%i IN (command) DO command
这个是最复杂也是功能最强的参数,更多详细内容可查看这里。

/**假如文件a.txt中有如下内容:
第1行第1列 第1行第2列 第1行第3列 第1行第4列
第2行第1列 第2行第2列 第2行第3列 第2行第4列
第3行第1列 第3行第2列 第3行第3列 第3行第4列
*/
//每次读取1行
for /f %%i in (a.txt) do echo %%i
//delims= 每一行按空格分开,默认取第一列内容
for /f "delims= " %%i in (a.txt) do echo %%i
//tokens=2取第二列
for /f "tokens=2 delims= " %%i in (a.txt) do echo %%i
//tokens=2,3取第二和三列,%%i %%j 必须按英文字母顺序
for /f "tokens=2,3 delims= " %%i in (a.txt) do echo %%i %%j
//tokens=1-3取第一到三列
for /f "tokens=1-3 delims= " %%i in (a.txt) do echo %%i %%j %%k
//tokens=2,3取第二列,第二列之后所有
for /f "tokens=2,* delims= " %%i in (a.txt) do echo %%i %%j
//tokens=*通配符取所有列
for /f "tokens=* delims= " %%i in (a.txt) do echo %%i %%j
//skip=2 忽略文件前2行
for /f "skip=2 tokens=*" %%i in (a.txt) do echo %%i
//eol=. 忽略以.开头的行
for /f "eol=. tokens=*" %%i in (a.txt) do echo %%i

扩展 %%~i

// 删除头引号,有头引号则删除尾引号,保留中间引号
/**a.txt文件内容如下:
"11
"22"
33"
"44"44
*/
for /f "delims= " %%i in (a.txt) do echo %%~i
/**运行结果如下:
11
2222
3333"
4444"44
*/

解析字符串

@echo off
set str="aa bb#cc-dd_ee#ff"
//通过-分割,得到数组[aa bb#cc,dd_ee#f]
for /f "tokens=2 delims=-" %%a in (%str%) do echo %%a %%b %%c
//通过-#两次分割,得到数组[aa bb,cc,dd_ee,f]
for /f "tokens=2,3,4 delims=-#" %%a in (%str%) do echo %%a %%b %%c
pause

解析命令

//通过dir得到当前列表,循环当前目录文件夹
for /f "delims=" %%i in ('dir /ad/b ') do (echo %%i
)// %%~di 只显示盘符
for /f "delims=" %%i in ('dir /b') do @echo %%~di
// %%~pi 显示全路径
for /f "delims=" %%i in ('dir /b') do @echo %%~pi
// %%~ni 显示文件夹或文件名字
for /f "delims=" %%i in ('dir /b') do @echo %%~ni
// %%~xi 显示文件扩展名
for /f "delims=" %%i in ('dir /b') do @echo %%~xi
// %%~si 显示全路径文件夹或文件名字(包含短名字 比如:download->downlo~1)
for /f "delims=" %%i in ('dir /b') do @echo %%~si
// %%~fi 显示全路径文件夹或文件名字
for /f "delims=" %%i in ('dir /b') do @echo %%~fi
// %%~ti 显示文件夹或文件的修改日期
for /f "delims=" %%i in ('dir /b') do @echo %%~ti
// %%~zi 显示文件夹或文件的大小
for /f "delims=" %%i in ('dir /b') do @echo %%~zi
//通过系统PATH变量搜索notepad.exe,搜索到后显示全路径文件名
for /f "delims=" %%i in ("notepad.exe") do echo %%~$path:i

5.4 /l 表示以增量形式从开始到结束的一个数字序列
格式:FOR /L %variable IN (start,step,end) DO command [command-parameters]

//输出1 2 3 4 5
for /l %%i in (1,1,5) do @echo %%i
//输出1,3,5,7,9
for /l %%i in (1,2,10) do @echo %%i
//输出10,8,6,4,2
for /l %%i in (10,2,1) do @echo %%i

6.基础问题
6.1 乱码问题:打印的中文是乱码
解决方法:bat的中文支持编码是ANSI,用记事本打开另存为 ANSI格式即可。
6.2 路径错误:Program Files 不是内部命令。
解决方法:Program Files替换为Progra~1, Program Files (x86)替换为Progra~2
6.3 一闪而过:运行bat文件,失败时看不到错误,bat自动关闭了。
解决方法:在bat文件末尾加上 pause,bat执行后就不会立刻关闭,然后就可以看到具体的错误的问题了。
6.4打印问题:ECHO 处于关闭状态 或 ECHO 处于打开状态
解决方法:set name =andy;echo %name% 设置变量名不能与等号有空格;echo %var%,%var%可能是空。

7.具体问题
7.1批量替换文件字符串

@echo off
setlocal EnableDelayedExpansion
(for /f "delims=" %%i in (a.text) do (set str=%%i//替换字符set str=!str:Hello=HelloWord!//去掉当前行的空格:enterceptif "!str:~0,1!"==" "  set "str=!str: =!" call :enterceptif not "!str!"==""  (echo !str! )
))>b.text
endlocal

7.2删除多于运行文件,打包压缩

@echo off
//当前路径
set dir=%~dp0
echo %dir%
for /f "delims=" %%i in ('dir /ad/b "%dir%"') do (echo %%ird %dir%\%%i\release  /s /qrd %dir%\%%i\bin\js /s /qdel  %dir%\%%i\bin\code.js /fC:\Progra~1\WinRAR\WinRAR.exe a -ep1 %%i.rar %dir%\%%i
)
pause

7.3批量按顺序修改文件名字

@echo off
::设置文件前缀
set name=test
::设置文件类型
set type=png
setlocal enabledelayedexpansion
for  %%i in (*) do (echo %%iif not "%%i"=="name.bat" (set /a sum+=1rename "%%i" %name%"_!sum!."%type%)
)
pause

7.4获取日期

@echo off
//输出 2022/04/29 周五  10:01:01.00
echo %date% %time%
//输出 20220429
echo %date:~0,4%%date:~5,2%%date:~8,2%
//输出 100101
echo %time:~0,2%%time:~3,2%%time:~6,2%

bat的使用技巧汇总相关推荐

  1. ipadpro+打开html文件,iPadPro日常基本功能的使用技巧汇总

    iPadPro日常基本功能的使用技巧汇总今天来给大家分享一下了,苹果的iPadPro这款平板还是很实用的,而且还自带的手写笔,平时大家在使用这款iPadPro中肯定遇到了不少问题,下面小编就来分享一下 ...

  2. vb计算机水平考试笔试,2014计算机考试二级VB笔试答题技巧汇总

    2014计算机考试二级VB笔试答题技巧汇总 B.填空题解题方法: 除部分填空题考查识记知识点外,对于理解性的编程类填空题,我们有时可以用推理的方法初步得到解题思路,在此基础上进行相关的验证后最终得到正 ...

  3. VC小技巧汇总之对话框技巧

    这篇文章主要介绍了VC小技巧汇总之对话框技巧,非常实用!对于进行VC开发有一定的参考借鉴价值,需要的朋友可以参考下 本文搜集汇总了VC中关于对话框常用的一些技巧,对于进行VC开发由于一定的参考借鉴价值 ...

  4. 数学猜想验证步骤_高中数学解题思路与技巧汇总,19种解题方法,实用!

    解数学题,除了掌握有关的数学知识之外,最好掌握一定的解题技巧甚至知道点解题思想.要知道高考试题的解答过程中蕴含着重要的数学思想方法,如果能有意识地在解题过程中加以运用,势必会取得很好的效用.下面邦德华 ...

  5. JAVASCRIPT常用20种小技巧汇总

    1.TEXTAREA自适应文字行数的多少 2.脚本永不出错 <script LANGUAGE="javascript"> </script> 3.ENTER ...

  6. 移动平台WEB前端开发技巧汇总

    原名<移动平台3G手机网站前端开发布局技巧汇总>,由武方博整理的,让我们了解下移动设备上的WEB站点开发的基础知识,多些时间和精力去优化其他细节,我这里对原文的标签格式做了细微的调整,阅读 ...

  7. oracle 汇总上面所有,Oracle经验技巧汇总

    Oracle经验技巧汇总 对于Oracle学习者来说,掌握一些经验技巧是很有必要的,下面就和小编一起来学习学习吧! 1.删除表空间 DROP TABLESPACE TableSpaceName [IN ...

  8. Matlab/Simulink仿真问题及技巧汇总【持续更新】

    本文章会汇总Matlab/Simulink仿真问题和相关技巧汇总. 如果有问题可以查询本文.有相关问题可以私信我,给你把你们的问题同步更新.wx:shadowknight007 本文章会持续更新. 设 ...

  9. IDA PRO 静态反汇编与OllyDbg动态调试实战技巧汇总

    IDA PRO 静态反汇编与OllyDbg动态调试实战技巧汇总 ********************************** 案例一: 使用IDA PRO+OllyDbg+PEview 追踪w ...

  10. 科目一常考知识点速记技巧汇总(2022全新版)

    目录 驾考模拟练习:元贝驾考2022科目一_元贝驾考科目一_元贝驾考2022科目一模拟考试 驾考一点通官网_科目一模拟考试2022最新版_驾考宝典2022科目四_驾照考试科目一 驾驶员试题网_专注驾驶 ...

最新文章

  1. Python最重要的5大功能,​要是能早点了解就好了
  2. 关于网站根目录下面robots.txt文件的作用
  3. JVM性能调优监控工具使用详解
  4. TCP请求发送和接收,如果接收端终止,发送端继续发送会出什么错
  5. Java实现C语言select函数_一道面试题目,分别用sql 和java,c++, c语言实现,
  6. mysql创建师徒_[郑州|结业弟子]JAVA-乔兆年|2020年05月09日的日报-技能树.IT修真院...
  7. oschina的技术架构 使用 Live Writer 在 oschina 上写博客
  8. Linux系统下如何使用中文输入法
  9. topjui/easyui 表格分页简单实例
  10. Unity显示(内嵌)网页- UniWebView的使用教程
  11. Google Chrome企业咨询服务市场调研报告- 行业发展机遇、市场定位及主要驱动因素
  12. 这辈子你会遇见谁,早已命中注定
  13. 百家争鸣,智能办公群雄论剑,吹响企服三会号角第一声
  14. 程序员专业常用英语词汇
  15. Exemplar Fine-Tuning for 3D Human Model Fitting Towards In-the-Wild 3D Human Pose Estimation 2020阅读理
  16. 网络多媒体素材加工【1】
  17. rbf神经网络自适应控制matlab仿真,机械系统RBF神经网络控制:设计、分析及Matlab仿真(英文)...
  18. Mac OS平台的Pr cc怎样配置首选项设置(二)?
  19. FPGA数字信号处理
  20. 性能最好的七大免费杀毒软件排行榜

热门文章

  1. qt bianyishiliechengxu cube
  2. libigl cot laplacian 计算方式
  3. 怎样把mp3转换成mp4?
  4. 金融货币学笔记(米什金)第三章 什么是货币 带原书总结
  5. Sunday算法特征码搜索C++(支持通配符)
  6. lstm 预测诗歌_预测诗歌运动
  7. php screw.so,php screw加密
  8. 小白如何快速绘制原型图
  9. 数学建模-层次分析法(AHP)方法回顾
  10. C语言揭秘二战德军的顶级加解密技术——恩格玛机!