zoukankan      html  css  js  c++  java
  • bat语法

    注释

    :: 注释无回显
    rem 注释有回显

     关闭和开启回显

    :: 关闭回显
    @echo off
    echo abc
    :: 开启回显
    echo on
    echo 123

     查看命令帮助说明

    rd /?

     目录操作

    创建目录(包含子目录)
    md mp3ac
    
    删除空目录
    rd mp3
    
    /q安静模式 /s递归
    rd /q/s mp3
    
    重命名目录 mp3源 mp3bak目标
    rename mp3 mp3bak

    文件操作 

    :: 创建文件cc.txt
    cd.>cc.txt
    
    :: 往文件里写数据
    echo this is ceshi > ceshi.txt
    
    :: 查看文件内容
    type ceshi.txt
    
    
    :: 删除文件
    :: 删除指定文件,不能是隐藏、系统、只读文件
    del d:	est.txt            
    
    :: #删除 d:	emp 文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
    del /q/a/f d:	emp*.*   
    
    ::  #删除 d:	emp 及子文件夹里面的所有文件,包括隐藏、只读、系统文件,不包括子目录
    del /q/a/f/s d:	emp*.*  


    copy 拷贝文件

    例:copy key.txt c:doc  // 将当前目录下的key.txt拷贝到c:doc下(若doc中也存在一个key.txt文件,会询问是否覆盖)

    例:copy jobs c:doc  // 将当前目录下jobs文件夹中文件(不递归子目录)拷贝到c:doc下(若doc中也存在相应的文件,会询问是否覆盖)

    例:copy key.txt c:dockey_bak.txt  // 将当前目录下的key.txt拷贝到c:doc下,并重命名为key_bak.txt(若doc中也存在一个key_bak.txt文件,会询问是否覆盖)

    例:copy /Y key.txt c:doc  // 将当前目录下的key.txt拷贝到c:doc下(不询问,直接覆盖写)

    例:copy key.txt +  // 复制文件到自己,实际上是修改了文件日期

    例:copy /Y key1.txt + key2.txt key.txt  // 将当前目录下的key1.txt与key2.txt的内容合并写入key.txt中(不询问,直接覆盖写)

    例:copy /B art_2.7z.* art_2.7z    // 将当前目录下的art_2.7z.开头的所有文件(按照名称升序排序)依次合并生成art_2.7z

    例:copy /B art_2.7z.001+art_2.7z.002 art_2.7z    // 将当前目录下的art_2.7z.001、art_2.7z.002文件合并生成art_2.7z

    xcopy  更强大的复制命令

    例:xcopy c:athai d:hello /s /h /e /f /c /y   // 将c:athai中的所有内容拷贝到d:hello中  注意:需要在hello后加上  表示hello为一个目录,否则xcopy会询问hello是F,还是D,/y不询问

    例:xcopy c:athai d:hello /d:12-29-2010  // 将c:athai中的2010年12月29日后更改的文件拷贝到d:hello中

    move 移动文件

    例:move *.png test  // 将当前目录下的png图片移动到当前目录下test文件夹中 (若test中也存在同名的png图片,会询问是否覆盖)

    例:move /Y *.png test  // 将当前目录下的png图片移动到当前目录下test文件夹中 (不询问,直接覆盖写)

    例:move 1.png d: est2.png  // 将当前目录下的1.png移动到d盘test文件夹中,并重命名为2.png (若test中也存在同名的png图片,会询问是否覆盖)

    例:move test d: ew  // 若d盘中存在new文件夹,将当前目录下的test文件夹移动到d盘new文件夹中;若不存在,将当前目录下的test文件夹移动到d盘,并重命名为new

    date时间

    :: 显示时间 (2018/09/20 周四)
    set DT=%date%
    echo %DT%
    
    ::显示时间 年(2018),说明:从开头取4个
    set year=%date:~,4%
    echo %year%
    
    ::显示时间月(09),说明:从第5个起取2个
    set month=%date:~5,2%
    echo %month%
    
    ::显示时间日(20),说明:从第8个起起2个
    set day=%date:~8,2%
    echo %day%
    
    :: 显示时间(16:23:13.56)
    echo %time%
    
    :: 显示时(16或0x)
    set time_hh=%time:~0,2% 
    if /i %time_hh% LSS 10 (set time_hh=0%time:~1,1%)
    echo %time_hh%
    
    :: 显示分
    set time_mm=%time:~3,2%
    echo %time_mm%
    
    :: 显示秒
    set time_ss=%time:~6,2%
    echo %time_ss%
    
    :: 显示20180920_162335
    set time_hh=%time:~0,2% 
    if /i %time_hh% LSS 10 (set time_hh=0%time:~1,1%) 
    set DT=%date:~,4%%date:~5,2%%date:~8,2%_%time_hh:~,2%%time:~3,2%%time:~6,2%
    echo %DT%

     删除10天前的文件

    set BakDir="E:ackuporacle"
    forfiles /p %BakDir% /s /m *.* /d -10 /c "cmd /c del @file"

     if else

    :: 111.txt 存在 就删除
    if exist 111.txt del 111.txt
    
    :: 111.txt 存在就复制一份111bak.txt
    echo this is ceshi > 111.txt
    if exist 111.txt copy /y 111.txt 111bak.txt

    :: 存在和不存在
    if exist d:111.txt (echo 111.txt存在) else ( echo 111.txt 不存在) ::
    if else set abc=1234 if %abc%== 123 ( echo == echo ==2 ) else ( echo != echo !=2 )

    for

    ===/d遍历目录
    
    :: 循环遍历目录
    for /d %%i in (c:*) do echo %%i
    
    :: *正则批配任意字符  ?批配一个字符
    for /d %%i in (d:??) do echo %%i
    
    
    :: ====/r 递归遍历文件 in里可以正则批配文件名
    for /r d:at %%i in (*) do @echo %%i 
    
    
    :: ====/l 迭代数值范围 (1,1,5)这个参数也就是表示从1开始每次加1直到5终止
    for /l %%i in (1,1,5) do (
        @echo %%i 
    )
    
    
    ::========/f 
    ::文件内容
    ::第1行1 第1行2 第1行3
    ::第2行1 第2行2 第2行3
    ::第3行1 第3行2 第3行3
    ::第4行1 第4行2 第4行3
    
    :: 读写文件所有内容,内容里有空格会断
    for /f %%i in (111.txt) do echo %%i
    
    :: 空格为分隔 显示第1列
    for /f "delims= " %%i in (111.txt) do echo %%i
    
    :: 空格为分隔 显示第2列
    for /f "tokens=2 delims= " %%i in (111.txt) do echo %%i
    
    :: 空格分隔显示2 3 列 %%i为列1 %%j为列2  i和j要是连续的字母
    for /f "tokens=2,3 delims= " %%i in (111.txt) do echo %%i %%j
  • 相关阅读:
    实时27实战机器学习:图片验证码识别(Java实现)
    大屏26深度学习模型来从文档图片中自动化地提取出关键信息成为一项亟待解决的挑战
    f-string想必作为Python3.6版本开始引入的特性,通过它我们可以更加方便地向字符串中嵌入自定义内容
    大屏25JAVA+selenium+tess4j识别登陆验证码截图与识别
    前端12 highcharts和echarts选择
    大屏20基于 Selenium 的 Web 自动化测试框架完美版自动化解决方案 [开源项目]
    大屏24字典python+selenium的行为
    大屏23Tesseract字库训练Tesseract 3
    大屏21解决数据问题python-tesseract-ocr的安装及使用
    大屏22解决数据问题java浏览器源.docx
  • 原文地址:https://www.cnblogs.com/hanxiaohui/p/9681758.html
Copyright © 2011-2022 走看看