——0、

1、文件后缀的延申

官方教程更推荐使用.cmd作为后缀

.cmd和.bat的区别:

http://www.360doc.com/content/12/0810/09/3688062_229346243.shtml

bat后缀面向原始的MS-DOS系统的解释器执行

cmd后缀面向后来的WindowsNT系统的解释器执行,但是NT也兼容了bat后缀

只是dos部分命令不能被NT兼容

2、文件执行

可以使用完整的字符串访问执行

Microsoft Windows [版本 10.0.19041.746]
(c) 2020 Microsoft Corporation. 保留所有权利。 C:\Users\Administrator>"D:\hello.cmd"
hello dos batch!!!

3、变量的赋值符号不能有空格

set var=100

学习参考:

https://www.w3cschool.cn/pclrmsc/tdsgnn.html

——1、echo回显

一、hello-world

echo hello patch program!
pause

输出:

可以发现,echo命令 = 文件绝对路径 + echo命令本身 + 单行的字符串

这样输出出来,然后再输出命令后面的文本?

D:\dos-patch>echo hello patch program!
hello patch program! D:\dos-patch>pause
请按任意键继续. . .

  

二、取消echo本身的显示

如果不要输出第一行的完整输出,使用@echo命令

@echo hello patch program!
pause

输出:

hello patch program!

D:\dos-patch>pause
请按任意键继续. . .

 

三、echo回显控制

单独列出一行@echo on 表示开启回显

单独列出一行@echo off 表示关闭回显

@echo on
echo the echo command and string will output in screen
@echo off
echo only string output
pause

输出:

D:\dos-patch>echo the echo command and string will output in screen
the echo command and string will output in screen
only string output
请按任意键继续. . .

  

四、echo空行

使用echo.让输出空出一行,“.”要紧跟在ECHO后面,中间不能有空格

另外,“.”可以用“,:;”/]+\ 这些任一符号替代。

@echo on
echo the echo command and string will output in screen
@echo off
echo only string output
echo.
echo this is a nextline pause

输出:

D:\dos-patch>echo the echo command and string will output in screen
the echo command and string will output in screen
only string output this is a nextline
请按任意键继续. . .

  

五、echo配合管道完成命令

格式:ECHO 回复|命令表达式
作用:通过管道命令 | 把“回复”作为输入传导给后面的“命令表达式”,并作为“命令表达式”的输入。(注
意,管道命令|的输入方法,shift键 \) 例5
@echo off
rd /s c:\abc
pause 执行显示:
c:\abc, 是否确认(Y/N)? 解释一下,这里abc是一个不为空的文件夹,用rd 命令删除时它将会询问你Y或N,这时你就要手动的输入Y/N了。
OK,我们把批处改一下,这时系统将会自动帮助我们把Y输入确认了

六、利用写入操作进行文件的创建和内容写入

在bat程序文件所在的目录中创建一个新的文件并且内容为空

echo off
echo. >newfile.txt
pause

创建文件的同时并且写入内容

echo off
echo '需要写入的内容' >文件名

七、REM注释

rem 要注释的字符内容

echo off
echo normal content ...
rem hide content...
pause

注释的内容在终端中不会输出

D:\dos-patch>echo off
normal content ...
请按任意键继续. . .

  

同样使用::也可以进行注释,终端将会理解为无效号标号而进行注释

作用是一样,但是两者的在机器执行的含义不一样

echo off
echo normal content ...
rem hide content...
:: use special char to hide content...
pause

输出:

D:\dos-patch>echo off
normal content ...
请按任意键继续. . .

 

一些注意事项:

任何以冒号:开头的字符行,在批处理中都被视作标号,  而直接忽略其后的所有内容。
有效标号:冒号后紧跟一个以字母数字开头的字符串,goto 语句可以识别。

无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto 无法识别的标号,可以起到注释
作用,所以 :: 常被用作注释符号,其实 : 也可起注释作用

与 rem 不同的是, :: 后的字符行在执行时不会回显,  无论是否用echo on 打开命令行回显状态, 
因为命令解释器不认为他是一个有效的命令行,  就此点来看, rem 在某些场合下
将比 :: 更为适用;  另外, rem 可以用于  config.sys  文件中


——2、CD变更当前工作路径

1、变更工作路径

CD 是 change directory 改变目录的缩写

通常用于终端直接使用,在bat程序中也可以使用,要注意的是cd仅限于同一盘符下的目录变更

不同的盘符下的目录变更,尽管终端不会报错,但是执行是无效的,所以需要这样一个强制执行盘符切换

C:
cd C:\Program Files\Java\jdk1.8.0_261\bin
cd ..
cd .
cd C:\Program Files\
pause

输出:

D:\dos-patch>C:

C:\>cd C:\Program Files\Java\jdk1.8.0_261\bin

C:\Program Files\Java\jdk1.8.0_261\bin>cd ..

C:\Program Files\Java\jdk1.8.0_261>cd .

C:\Program Files\Java\jdk1.8.0_261>cd C:\Program Files\

C:\Program Files>pause
请按任意键继续. . .

  

或者在跨盘符切换的路径之前加上参数/d

cd /d C:\Program Files\

2、显示当前工作路径的绝对路径

@echo %cd%

——3、DEL删除

用于删除一个或者多个的文件或者目录,

注意!被删除的文件或者目录无法在回收站中找回

erase '需要删除的文件'
del '需要删除的文件'

没有声明路径,则会从当前工作目录下寻找声明的文件进行删除

del aaa.txt
pause

如果文件已经删除或者不存在此文件则会报错:

D:\dos-patch>del aaa.txt
找不到 D:\dos-patch\aaa.txt D:\dos-patch>pause
请按任意键继续. . .

  

命令的附带参数:

  /P            删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件

——4、COPY & XCOPY 复制

copy命令只允许文件的拷贝,对目录的复制是无效的

copy '原始文件' '新文件'

1、原始文件和新文件都可以是相对路径或者绝对路径,所以建议使用绝对路径以区分

2、拷贝在同一目录下,一定要更改新文件的名称,两个文件的名称不可以为同一个

3、对目录进行拷贝可以将目录下的文件拷贝新的目录中

4、出现已经存在的文件,拷贝过去的文件会产生冲突,替换,不替换,全部替换三种选择

文件的合并操作:

copy 文件1 + 文件2 ... 文件N  新文件

首参数声明的一系列文件会按照参数描述的顺序在新的文件中进行写入

对于一些音频视频文件可以用这种方法进行简单的拼接处理。

XCOPY对目录进行的操作功能更多

1、复制文件和非空的目录(包括非空的子目录)

xcopy /s c:\xx\xxx\ d:\xx\sss\

复制C盘的xx目录下的xxx目录下的所有文件及子目录到d盘的xx目录下的sss目录中

并且排除掉空的目录

2、/T 只复制子目录结构(即目录树),不复制文件。要复制空目录,必须包含 /e 选项。

xcopy /e c:\xx\xxx\ d:\xx\sss\

3、/Y 禁止提示您确认要覆盖现存的目标文件。(强制进行覆盖操作)

4、/H 复制具有隐藏和系统文件属性的文件。默认情况下xcopy 不复制隐藏或系统文件。

5、文件还是目录?

★注意指定 Destination 是文件还是目录。
如果 Destination 不包含现有目录且不以反斜杠 (\) 结尾,会出现下列消息: Does destination specify a file name
or directory name on the target
(F = file, D = directory)? 系统将会询问你
目标 X:\XXX 是文件名还是目录名
(F = 文件,D = 目录)?
如果要将一个或多个文件复制到一个文件,请按 F。如果要将一个或多个文件复制到一个目录,请按 D。

——5、MD目录创建

Make Directory 创建目录

windows操作系统允许目录的名称含有空格,所以在一般的文件操作中,建议使用双引号进行修饰以区别参数含义

md 路径 + 目录名

md命令支持多个目录参数,所以可以一次创建多个目录和多层级目录


——6、RD目录删除

Remove Directory 的意思

可以使用rd简写,也可以使用rmdir

该命令默认情况下只删除空的目录

若要删除目录的一切,需要加上 /S参数

rd /s d:\123

参数/q表示安静执行,屏蔽操作警告选择,按照YES回答执行


——7、REN 重命名

Rename的意思,命令ren 或者 rename 都可以执行

rename 原始文件 新文件

可以配合通配符进行批量文件的名称变更

rename *.avi *.txt

注意事项:

★当文件具有隐藏属性或系统属性的时候,ren不能直接重命名,需要把文件的隐藏或系统属性去掉方可更名

——8、MOVE 移动文件

move 文件(目录) 文件(目录) 

该命令一样可以实现rename命令

注意事项:

★MOVE命令可以跨分区移动文件,却不可以跨分区移动文件夹。
★对于跨分区移动文件时,如果目标位置存在和将要移动的文件同名时,系统会提示:“文件存在” 最后,命令将不会执行。
★对于隐藏或系统属性的文件,只有把它们的属性去除后,move命令才会执行。

——9、FIND 字符查找

1、在abc.txt中查找字符串abc的行。

find "abc" d:\abc.txt

基本格式:find "要查找的字符串" 要查找的文件(不在当前目录则需要给出完整路径)

2、通过/I 参数可以不区分要查找的字符串“abc”的大小写。

find /i "abc" d:\abc.txt

参数/i代表的是“Ignore”(忽略),也就是忽略大小写。/I 搜索字符串时忽略大小写。

3、通过/n参数我们可以查找到字符串"abc"所在的行号。

find /n "abc" d:\abc.txt

参数/n代表英语单词“Number”(号码).。/N 显示行号。

4、通过/c参数我们可以统计包含"abc"字符串的行数。

find /c "abc" d:\abc.txt

参数/c是英语单词“Count”(计数)的缩写。/C 仅显示包含字符串的行数。

5、在这里表示查找不包含"abc"字符串的行。

find /v "abc" d:\abc.txt

这个参数用于找出文件中不包含指定字符串的行。/V  显示所有未包含指定字符串的行。

注意:find命令中要查找的字符串一字要用双引号" "括起来。


【Dos-BatchPrograming】01的更多相关文章

  1. 【T-SQL基础】01.单表查询-几道sql查询题

    概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...

  2. 【VBA编程】01.第一个VBA程序Hello world

    [程序1] 所有程序语言的开始都源于Hello world,那么我们也使用Hello world进行第一个VBA编程 新建Excle文件-----文件-------选项-----自定义功能区域---- ...

  3. 【java基础】01 计算机基础知识

    一.计算机基础知识 1. 计算机 1. 什么是计算机? 计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设 ...

  4. 【FLUENT案例】01:T型管混合器中的流动与传热

    案例目录 1 引子1.1 案例描述1.2 案例学习目标2 计算仿真目标3 启动FLUENT并读入网格4 FLUENT工作界面5 网格缩放及检查6 修改单位7 设置模型8 定义新材料9 计算域设置10 ...

  5. 【OpenFOAM案例】01 elbow

    本案例演示利用OpenFOAM的icoFoam求解器计算弯曲管道中的混合流动问题. 1 拷贝tutorials文件 启动终端,且拷贝tutorials文件夹中的文件.利用命令: cp -r $FOAM ...

  6. 【HIHOCODER 1038】 01背包

    链接 问题描述 且说上一周的故事里,小Hi和小Ho费劲心思终于拿到了茫茫多的奖券!而现在,终于到了小Ho领取奖励的时刻了! 小Ho现在手上有M张奖券,而奖品区有N件奖品,分别标号为1到N,其中第i件奖 ...

  7. 【AtCoder AGC023F】01 on Tree(贪心)

    Description 给定一颗 \(n\) 个结点的树,每个点有一个点权 \(v\).点权只可能为 \(0\) 或 \(1\). 现有一个空数列,每次可以向数列尾部添加一个点 \(i\) 的点权 \ ...

  8. 【C/C++】01背包问题/动态规划

    按小蓝书上写的大数据情况下没过,按解答区一个大佬的修改了过了 #include <bits/stdc++.h> using namespace std; class Solution { ...

  9. 【Pyrosim案例】01:空气流动

    1 案例说明 Pyrosim是一款FDS前后处理软件.以一个非常简单的案例来描述Pyrosim的工作流程.本案例计算域中包含一个空气入口,一个环境出口. 案例主要演示以下内容: 创建Vents 增加切 ...

  10. 【Python爬虫】01:网络爬虫--规则

    Python网络爬虫与信息提取 目标:掌握定向网络数据爬取和网页解析的基本能力. the website is the API 课程分为以下部分: 1.requsets库(自动爬取HTML页面.自动网 ...

随机推荐

  1. gRPC入门学习之旅(十)

    gRPC入门学习之旅目录 gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) gRPC入门学习之旅(四) gRPC入门学习之旅(七)  gRPC入门学习之旅(九) 3. ...

  2. Unity 3D 的NEW (堆内存)

    用容器装 在AWEKE NEW 运行时NEW 会导致分配内存时界面卡住, new class 的时候 才刷新程序帧 AWEKE 是程序启动时还没走完第一帧的开头执行 AWEKE 里面的代码 常量也在A ...

  3. django通过channels实现websocket

    WebSocket协议是基于TCP的一种新的协议.WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符.它实现了浏览器与服务器全双工(full-duplex ...

  4. work03

    第一题: 1.定义一个包含十个元素的数组.数组元素自己给出 2.遍历打印出数组元素 3.求出数组当中的最小值打印出来 4.求出数组当中的最大值打印出来 5,求数组当中 第二大 值 第二题: 1.定义一 ...

  5. uniapp 开发微信小程序 使用微信小程序一键登录

    研究了一天的uniapp开发微信小程序的第一步,登录! 刚开始使用uni.getUserInfo函数No!不行,无法运行,研究文档发现是这个函数被微信小程序团队给禁用了,OK换! 后来换成了uni.g ...

  6. Nuxt 3组件开发与管理

    title: Nuxt 3组件开发与管理 date: 2024/6/20 updated: 2024/6/20 author: cmdragon excerpt: 摘要:本文深入探讨了Nuxt 3的组 ...

  7. Scrcpy - 开源免费在电脑显示手机画面并控制手机的工具 (投屏/录屏/免Root)

    教程:https://www.iplaysoft.com/scrcpy.html 官方地址:https://github.com/Genymobile/scrcpy

  8. 十大java应用服务器(web server)总结

    java应用服务器(web server),是指运行java程序的web应用服务器软件,不包括nginx.Apache等通用web服务器软件. 一.Tomcat Tomcat是Apache 软件基金会 ...

  9. Xilinux PS与PL交互:裸机程序读写FPGA-REG

    背景 当时在搞ZYNQ驱动的时候,出于TDD的思想,从最简单的功能开始验证.因此就涉及到了下面的需求. PL侧会提供寄存器地址供PS端读写,这部分的寄存器在PL侧作为Avalon的IP,对PS端来说, ...

  10. Kubernetes 存储资源 PV、PVC 和StorageClass详解

    一.存储机制介绍 在 Kubernetes 中,存储资源和计算资源(CPU.Memory)同样重要,Kubernetes 为了能让管理员方便管理集群中的存储资源,同时也为了让使用者使用存储更加方便,所 ...