批处理【bat、cmd】知识 及 常用批处理

DOS命令

一、常用DOS命令:

  https://blog.csdn.net/qq_38676810/article/details/79584531  或  https://www.jb51.net/article/140920.htm 或 https://www.w3cschool.cn/dosmlxxsc1/(W3C文档)

d:+回车键——进行盘符切换
dir(directory): 列出当前目录下的文件以及文件夹【dir /s 所有目录】
cd(change directory): 改变指定目录(进入指定目录)【cd.. 退回到上一级目录; cd\  退回到根目录】
md(make directory): 创建目录
rd(remove directory): 删除目录(只能是空目录)
copy: 拷贝一个或多个文件到指定盘上
robocopy:目录复制命令(快速复制)  https://blog.csdn.net/wkl1237/article/details/52448731
del(delete): 删除文件
exit: 退出dos命令行
cls(clear screen): 清屏
ren: 重命名
tree: 显示文件目录树,含最底层目录
date: 查看日期
time: 查看时间
regedit: 注册表编辑器
mode: 设置DOS窗口的尺寸

二、语法

  • > 把命令返回的数据 写到一个文件中
  • cmd命令不区分大小写
  • 查看命令帮助提示https://blog.csdn.net/weixin_55000908/article/details/123455634
    cmd命令的参数格式一般都是:斜杠表示 
    命令 /?
  • 命令参数放在前或后都行
  • Tab键: 补全  文件名( 这个不是命令,是快捷方式)
  • 目录中*是通配符,如:
    • *.bat   所有扩展名是bat的文件
    • a*       显示所有文件名是a的文件
    • a?      显示所有文件名是以a开头,并只有2个字母,?代表任意字符
  • 输出空行:https://zhidao.baidu.com/question/751039304703168172.html
  • 批处理里 &、&&和|| 三个逻辑命令符的意思及区别:https://www.hack520.com/568.html   或  https://blog.csdn.net/Oliver_xpl/article/details/88717522
    &  顺序执行多条命令,而不管命令是否执行成功;
    && 当&&前面的命令成功执行时,执行&&后面的命令,否则不执行;
    || 当||前面的命令失败时,执行||后面的命令,否则不执行。

     说明:每个命令都会有返回值,即状态码。上个命令的状态码 值 就是 %errorlevel% 。  https://www.cnblogs.com/5201351/p/13606941.html

  • cmd命令中 文件 path写法: 
    path中目录是用反斜杠隔开,以斜杠隔开就会报错。cmd中斜杠一般表示参数。

    cd application-back\db

    虽然在cmd中有的命令使用斜杠也是可以的,但是大部分是不支持斜杠的。默认都是支持反斜杠的,避免出现错误,cmd中和path相关的,目录分隔统一使用反斜杠。

  •  

     


批处理 

批处理教程:http://docs.30c.org/dosbat/ 或 https://www.w3cschool.cn/pclrmsc/(W3C网站)或  https://blog.csdn.net/chen801090/article/details/108225268

批处理 与 DOS命令 的关系:https://blog.csdn.net/zlpzlpzyd/article/details/18714743

    (个人理解)DOS命令是对系统的操作,批处理是脚本,有逻辑。即批处理的功能是,使用批处理的逻辑,去调用DOS命令,执行一些操作。

一、批处理常用命令:

  Batch 常用命令包含:echo、::/rem、title/color、cd/md/dir、rd/del/copy、pause、goto、for、if、set、start等

@echo off 代表在本行开始关闭回显,不显示正在执行的批处理命令及执行结果,一般放在批处理文件第一行

echo 日志参数:用于在控制台输出日志,偏于理解脚本执行逻辑

::/rem 注释内容:注释内命令

title/color:设置窗体标题和背景颜色pause:暂停命令,一般放在批处理文件最后一行

goto:跳转命令,一般和「 : 任务名称 」搭配使用,执行一个循环任务,实例见第 3for:循环命令,和 Python 中的 for 语法类似

if:判断命令

set:设置一个变量

start:调用外部程序的命令

二、语法:

1、批处理出现乱码是因为字符集问题。编辑批处理文件时,以ANSI方式编辑即可。(批处理当作一种工具,帮助我们快速,自动化 处理某些问题

2、批处理的注释:https://www.cnblogs.com/xiaoqisfzh/p/5565829.html(大部分注释都是单独开始一行的)

  行间注释使用 : %注释内容%  

3、echo 与 pause:第一条语句放在cmd命令框目录的后面;最后一条命令执行完就会关闭命令框。这两种过程,都不利于我们发现执行情况。所以一般在开始 和 结尾各加一个命令:

@echo off    %关闭命令本身的回显% 
echo 测试
pause      %暂停关闭命令框% 

  注:关闭命令本身的回显,命令前面的目录路径也会一起关闭的。

4、if 语句:https://www.w3cschool.cn/pclrmsc/gmjsnz.html

  5种if语句的基本语法:
    1。判断两个字符串是否相等,if "字符串1"=="字符串2" command 语句;
    2。判断两个数值是否相等,if 数值1 equ 数值2 command 语句
    3。判断判断驱动器,文件或文件夹是否存在,if exist filename command 语句;
    4。判断变量是否已经定义,if defined 变量 command 语句
    5。判断上个命令的返回值,if errorlevel 数值 command 语句

   多条件 的 if 语句:可以使用 else

5、bat文件运行完后就会自动关闭窗口:两种方式实现

  a、pause:不关闭窗口,但不能继续输入命令了。
  b、cmd:不关闭窗口,可以继续输入命令,并执行。如 cmd /k  ,带上K参数,cmd命令输出的内容就不会显示

6、set 命令(设置变量):https://www.w3cschool.cn/pclrmsc/wlreo3.html   (获取变量值使用 %变量名%,如 echo %var%)

  a、设置 变量的值 为脚本定好的:

set var=abcd
echo %var%

  b、设置 变量的值  为用户输入的:

set /p var=请输入变量的值:    %只需要加一个"/P"参数就可以了%
echo  您输入了%var%

  c、设置 变量的值 可以是一个表达式(简单的运算):

set /p input=请输入计算表达式:  %输入内容:19-10%
set /a var=%input%
echo  计算结果:%input%=%var%

7、for 循环语句:https://www.w3cschool.cn/pclrmsc/yqaho0.html

8、goto 流程跳转:https://www.cnblogs.com/Braveliu/p/5077868.html  或 https://www.cnblogs.com/canglongdao/p/12509687.html 
  常用 goto label 语句进行流程控制

set /p input=请输入字母A或B: 
if "%input%"=="A" goto A
if "%input%"=="B" goto B

pause       %两个条件都不满足,执行这里%
exit 

:A
echo 您输入的字母是A
pause
exit 

:B
echo 您输入的字母是B

9、批处理可以调用powershell的命令:

  CMD只能执行基本的任务,PowerShell因为是基于【.NET】面向对象的。大部分功能都可以做。如下,替换txt文件中的某个字符串

set "strOld=aaa"
set "strNew=zzzzz"
 
:: 将当前目录(包括子目录)下的所有 TXT 文本中的 aaaaa 替换为 zzzzz
for /f %%i in ('dir /b /s /a:-d *.txt') do (
  powershell -Command "(gc %%i) -replace '%strOld%', '%strNew%' | Out-File %%i"
)

10、bat处理运行node、npm等  安装程序的命令时,执行完第一个就会关闭窗口的问题:https://zhidao.baidu.com/question/585475292689414325.html 或 http://ask.zol.com.cn/x/3099519.html 

  解决方法,使用 call 调用,这些命令。  如    call npm init

11、cmd中启动批处理程序.bat后传入参数:https://blog.csdn.net/naibozhuan3744/article/details/80500766 

  这个功能在  node 的 包中经常被使用,script 脚本命令 写入的参数会传递到 cmd批处理文件中。

三、命令行常量: https://www.cnblogs.com/echohelper/p/14153872.html

  • %CD%:列出当前目录。
  • %DATE%:列出当前日期。
  • %TIME%:列出当前时间
  • %tmp%:当前用户的临时目录
  • %systemroot%:当前用户的主目录

 

 


 常用批处理

1、垃圾文件清除.bat

@echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp 
del /f /s /q %systemdrive%\*._mp 
del /f /s /q %systemdrive%\*.gid 
del /f /s /q %systemdrive%\*.chk 
del /f /s /q %systemdrive%\*.old 
del /f /s /q %windir%\*.bak 
del /f /s /q %windir%\temp\*.* 
del /f /a /q %systemdrive%\*.sqm 
del /f /s /q %windir%\SoftwareDistribution\Download\*.* 
del /f /s /q "%userprofile%\cookies\*.*" 
del /f /s /q "%userprofile%\recent\*.*" 
del /f /s /q "%userprofile%\local settings\temporary internet files\*.*" 
del /f /s /q "%userprofile%\local settings\temp\*.*" 
echo 清除系统垃圾文件完成! 
echo. & pause
View Code

 2、可选择任务的批处理(使用if和goto语句实现流程控制)

@echo off  

echo 请选择执行命令
echo ====================
echo 1.查ip地址
echo 2.打开212共享文件
echo 3.计算器
echo 4.创建wifi设置
echo 5.开启wife
echo 6.关闭wife

:abc
echo =====================
set /p user_input=请输入需要执行命令的 选项数字  
if %user_input% equ 1 ipconfig
if %user_input% equ 2 start \\10.8.206.212\临时共享区
if %user_input% equ 3 calc
if %user_input% equ 4 netsh wlan set hostednetwork mode=allow ssid=4Gtest key=12345678
if %user_input% equ 5 netsh wlan start hostednetwork
if %user_input% equ 6 netsh wlan stop hostednetwork

echo 是否继续
echo =====================
set /p isShutter=输入n关闭
if %isShutter% equ n exit
goto abc
View Code

 3、如何提取文件夹内所有文件的名称    https://jingyan.baidu.com/article/9158e0004080baa2541228b6.html

DIR *.* /B > 文件名称列表.txt

4、利用批处理命令批量修改文件名    https://baijiahao.baidu.com/s?id=1605159303922067169&wfr=spider&for=pc&isFailFlag=1

5、替换txt文件中指定的字符:https://blog.csdn.net/dbyoung/article/details/105305559

 

posted @ 2018-05-02 21:28  吴飞ff  阅读(722)  评论(0编辑  收藏  举报