当前位置: 首页 > news >正文

bat(DOS)常用命令详解

1. echo命令:用来打印信息,也可以用来修改文件中的内容

  • cmd窗口中输入 echo /? 可以获取echo命令帮助,其中 bat命令后加上 /?表示获取该命令帮助信息
  • echo命令后直接加上要输出的信息,如果输出信息中有特殊符号(bat命令中用到的,例如>),输出信息就要加上双引号。此外echo还可以打印变量的值,如果想连续打印很多行,可使用&符号,例如下图操作
  • echo除了将信息打印在屏幕上,echo也可以将信息直接输出到文件中,格式为【echo 信息 > 文件】,如果文件不存在,就会创建一个新的文件,然后将内容写入,如果文件存在,会覆盖掉文件中的原有内容;如果不想覆盖原来内容,可以使用【echo 信息 >> 文件】,表示将新的信息追加到文档后。
  • echo on(脚本默认),bat脚本运行后,每条命令的结果都会打印在屏幕上

    echo off 会关闭回显,也就是脚本运行时不在打印每个命令,只能打印一些日志(如echo的输出结果)和一些错误,如下图操作

 

2.del 删除命令 (只能删除文件,无法删除目录), rd 只能删除目录,不能删除文件

 

  • del test   //删除当前目录下的test文件夹中的所有非只读文件(子目录下的文件不删除),删除前会询问
  • del /f test   //删除当前目录下的test文件夹中的所有文件(含只读文件;子目录下的文件不删除),删除前会确认
  • del /f /s /q test e:\mybat\*.doc   //删除当前目录下的test文件夹中所有文件及e:\mybat中所有doc文件(含只读文件;以及子目录下的文件;删除前不确认)
  • del /ar *.*   //删除当前目录下所有只读文件

    del /a-s *.*   //删除当前目录下除系统文件外所有的文件

  • 补充参数:/ar 、/ah、/as、/aa  分别表示删除只读、隐藏、系统、存档文件

                     /a-r、/a-h、/a-s、/a-a  分别表示删除只读、隐藏、系统、存档以外的文件

  • rd test //删除当前目录下的test空文件夹(如果test不为空文件夹,则不会被删除)
  • rd /s d:\test //删除d盘目录下的test文件夹(不论里面是否有文件或文件夹,一起删除),删除前确认
  • rd /s /q d:\test //静默删除d盘目录下test文件夹,删除前不用确认

3.cd 显示当前目录命令(在cmd中,.、..和\表示相对路径,.是当前目录,..是上一层目录,而\表示根目录)

  • cd .. //退出到上一个目录
  • cd /d D:      //进入D盘上次所在目录(比如上次目录是D:\test\aa,则执行完这个目录后就会跳到这个目录下)
  • cd  d:\       //进入D盘根目录(如果当前不在d盘下,则不执行,需要加 /d)
  • cd /d d:\       //进入D盘根目录(/d强转符号)
  • cd /d D:\test       //进入D盘下的test目录

4.REM 和 :: 注释标识命令(必须在段首位置)

  • rem 注释命令,该命令后的内容不被执行,但能回显
  • :: 注释命令===@rem,与rem不同的是,该命令后的内容不会回显

5.md:新建文件夹

  • md D:\test  //在D盘下创建test文件夹
  • md test1 test2 //在当前目录下创建test1和test2文件夹

6.dir:显示目录中的内容

  • dir  //显示当前目录下的文件夹和文件名以及修改时间
  • dir test //显示test目录下的文件
  • dir /b //只显示当前目录的文件夹名和文件名
  • dir /p //分页显示当前目录中的文件内容
  • dir /ad //显示当前目录中的文件夹
  • dir /a-d //显示当前目录中的文件
  • dir c:\windows\bb //显示该目录下的内容
  • dir test.txt //显示当前目录找那个test.txt的信息
  • dir /s //递归显示当前目录中的内容
  • dir test* //显示当前目录下以test开头的文件和文件夹的信息
  • dir /ah /os //只显示当前目录中隐藏的文件和目录,并按照文件大小从小到大排序

7.cls 清屏命令,清楚屏幕中的信息,tree:显示目录结构,tree d:\test //显示d盘test的目录结构

8.Bat脚本中%cd%和%~dp0的区别

  • 使用范围:%cd%:批处理脚本(bat脚本)、命令行窗口

        %~dp0:批处理脚本(bat脚本)

  • bat脚本执行时,两者代表的值是否会变化:

        %cd%:会。因为代表的是当前目录

        %~dp0:不会。因为代表的是脚本文件在磁盘的位置

  • 例如 

        set assets_path=..\assets\icon\jiangtai
        del /q %assets_path%
        %~dp0"..\sofewares\svn1.8\svn.exe" up %assets_path%

        该代码将会用svn更新jiangtai目录下的资源

9. ren:文件或目录重命名

  • ren test.txt tamp.bat   //将当前目录下的test.txt文件重命名为sample.bat
  • ren c:\test test2     //将c盘下的test文件重命名为test02

10. copy: 拷贝文件

  • copy test.txt e:\mybat   //将当前目录下的test.txt拷贝到e:\mybat目录下(若mybat中存在相同文件,则会询问是否覆盖)
  • copy sample e:\mybat   //将当前目录下的sample文件夹中的文件拷贝到e:\mybat下(存在相同目录,会询问是否覆盖)
  • copy test.txt e:\mybat\test1.txt  //将当前目录下的test.txt拷贝到e:\mybat下,并重命名为test1.txt(若存在test1.txt,则会询问是够覆盖)
  • copy /y test.txt e:\mybat   //将当前目录下的test.txt拷贝到e:\mybat下(无须询问,直接覆盖)

 

转载于:https://www.cnblogs.com/PigpigRun/p/10412474.html

相关文章:

  • 力扣(LeetCode)357
  • 来,膜拜下android roadmap,强大的执行力
  • JS · \r\n被转义导致出错
  • [译] 每天一段 Spring 5 官方文档(5.1.4.RELEASE)—— Spring Framework Overview 10
  • P3398 仓鼠找sugar (一道LCA的裸题)
  • 创建一个 Django 项目
  • GitHub如何下载clone指定的tag
  • 技术面试感觉什么都会,面试官一问回答不上来怎么办?
  • 性能测试总结(二)---测试流程篇(转载)
  • servlet,javabean,客户端跳转和服务端跳转。
  • 启动从Windows Server 2016发布的应用程序时,黑屏在应用程序可见之前出现几秒钟...
  • 如何自己制作iconfont
  • URL与URI的不同
  • Dubbo 安装监控中心
  • 实习面试笔记
  • 【mysql】环境安装、服务启动、密码设置
  • C语言笔记(第一章:C语言编程)
  • ES6语法详解(一)
  • Github访问慢解决办法
  • HTTP中GET与POST的区别 99%的错误认识
  • Java编程基础24——递归练习
  • JS基础之数据类型、对象、原型、原型链、继承
  • mysql_config not found
  • MySQL主从复制读写分离及奇怪的问题
  • NSTimer学习笔记
  • Service Worker
  • SpringCloud集成分布式事务LCN (一)
  • swift基础之_对象 实例方法 对象方法。
  • 产品三维模型在线预览
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 讲清楚之javascript作用域
  • 每天10道Java面试题,跟我走,offer有!
  • 入口文件开始,分析Vue源码实现
  • 深入浅出Node.js
  • 算法---两个栈实现一个队列
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • !$boo在php中什么意思,php前戏
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (3)llvm ir转换过程
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (ZT)出版业改革:该死的死,该生的生
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (蓝桥杯每日一题)love
  • (生成器)yield与(迭代器)generator
  • (转)fock函数详解
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)VC++中ondraw在什么时候调用的
  • .net连接oracle数据库
  • .NET中的十进制浮点类型,徐汇区网站设计