美文网首页
window 命令bat语法

window 命令bat语法

作者: 空气KQ | 来源:发表于2019-03-21 10:38 被阅读0次

    基础语法

    命令帮助语法
    命令 /?

    image.png

    1、@行首有了它的话,这一行的命令就不显示了。
    @字符放在命令前将关闭该命令回显,无论此时echo是否为打开状态
    2、echo 输出的意思
    3、on | off 开关的意思

    (1)echo off
    只显示执行结果
    (2)echo on (默认)
    显示执行命令(除echo)和执行结果
    

    > 输出重定向,创建或清空文件,然后把数据输出到文件,类似linux shell的标准输出
    >> 把数据追加到文件,类似linux shell的标准输出
    4、注释,::rem
    5、跳转到标签,":"和 goto
    6、定义一个标签,:
    7 、pause 运行命令时不关闭窗口
    8、Call 命令
    从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用
    语法

    call [Drive:][Path] FileName [BatchParameters] [:label [arguments]
    

    参数

    [Drive:}[Path] FileName
    

    指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。
    9、start,调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用
    打开D盘

    start explorer d:\
    

    10、choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
    11、 %x 参数
    %1 -- 第1个参数
    %2 -- 第2个参数
    %3 -- 第3个参数
    11、errorlevel程序返回码

    echo %errorlevel%
    

    每个命令运行结束,可以用这个命令行格式查看返回码
    用于判断刚才的命令是否执行成功
    默认值为0,一般命令执行出错会设 errorlevel 为1
    12、title设置cmd窗口的标题
    13、find在文件中搜索字符串。
    FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
    /V 显示所有未包含指定字符串的行。
    /C 仅显示包含字符串的行数。
    /N 显示行号。
    /I 搜索字符串时忽略大小写。
    /OFF[LINE] 不要跳过具有脱机属性集的文件。
    "string" 指定要搜索的文字串,
    [drive:][path]filename
    指定要搜索的文件。
    如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。
    Find常和type命令结合使用
    Type [drive:][path]filename | find "string" [>tmpfile] #挑选包含string的行
    Type [drive:][path]filename | find /v "string" #剔除文件中包含string的行
    Type [drive:][path]filename | find /c #显示文件行数
    以上用法将去除find命令自带的提示语(文件名提示)
    14、pushd 和 popd切换当前目录

    @echo off
    c: & cd\ & md mp3       #在 C:\ 建立 mp3 文件夹
    md d:\mp4               #在 D:\ 建立 mp4 文件夹
    cd /d d:\mp4            #更改当前目录为 d:\mp4
    pushd c:\mp3            #保存当前目录,并切换当前目录为 c:\mp3
    popd                    #恢复当前目录为刚才保存的 d:\mp4
    

    其他看这个文章
    https://www.cnblogs.com/iTlijun/p/6137027.html

    1.常用命令举例

    a.创建文件夹: md D:\mybat //将在D盘下创建一个名为 mybat的文件夹

    b.删除文件夹: rd D:\mybat //将删除D盘中的mybat文件夹删除
    c.删除文件夹中的文件: del D:\mybat\sheepmu.txt //删除文件sheepmu.txt
    del D:\mybat\sheepmu.txt /q //安静模式删除,即删除时不弹出是否删除的提示框
    d.复制文件 : xcopy D:\mybat\sheepmu.txt D:\mybat1 //若D中无mybat1这个文件夹则会创建文件夹再复制
    e.向文件中写入内容: echo sheepmu >> D:\mybat\sheepmu.txt //如果这个文件不存在就创建文件并输入。如果是文件 夹不存在就不会成功! >>与>的区别是>是覆盖掉原来 的;>>是直接输入到原来的尾部

    f.显示文件中内容: type D:\mybat\sheepmu.txt

    g.更改文件名后缀: ren D:\mybat*.txt *.html

    2.批处理小例子

    a.检查是否中冰河

    @echo off

    netstat -a -n > D:\mybat\sheepmu.txt

    type D:\mybat\sheepmu.txt | find "7626" && echo 遭了,中了!

    pause & exit
    解析:

    第一行:echo off 表示关闭显示,@表示不显示 echo off本身

    第二行:netstat 显示协议及当前tcp/ip连接, -a表示显示所有连接和侦听端口;-n表示以数字的形式显示地址和;并把这些信息写入到文件D:\mybat\sheepmu.txt中。

    第三行: type 表示显示文件D:\mybat\sheepmu.txt中内容;

                   |    表示把|前面的输出到|后面的;
    
                  && 表示如果前面成功才执行后面的;
    

    第四行: & 表示且,即暂停且退出。

    b.清理系统垃圾

    @echo off

    if exist C:\windows\temp*.* del C:\windows\temp*.*

    if exist C:\windows\History*.* del C:\windows\History*.*

    if exist C:\windows\recent*.* del C:\windows\recent*.*

    exist

    解析:如果存在该文件就删除该文件。注意:删除文件夹用 rd ;删除文件用 del

    3.注意事项

    a.批处理脚本编写时最好的老师就是小黑老师啦,打开命令行窗口,输入命令加上/?就会有详细的说明,比如: netstat /?

    b.pause 命令可以方便我们查看命令执行到了那一步,因为在bat脚本运行时若出现脚本错误窗口会一闪而过。

    c.批处理执行过程中可以按 Ctrl+C退出,这对于出现死循环时非常有用。

    gulp bat安装

    @echo off
    cd /d %~dp0
    echo "淘宝镜像,加快速度"
    call npm install -g cnpm --registry=https://registry.npm.taobao.org
    echo "安装全局gulp"
    call cnpm install -g  gulp
    echo "创建文件package.json"
    echo ^{"name": "gulp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": {"test": "echo \"Error: no test specified\" && exit 1"}, "keywords": [], "author": "", "license": "ISC", "devDependencies": {"accord": "^0.30.0", "ansi-cyan": "^0.1.1", "ansi-red": "^0.1.1", "cnpm": "^6.0.0", "core-util-is": "^1.0.2", "gulp": "^3.0.0", "gulp-clean": "^0.4.0", "gulp-clean-css": "^4.0.0", "gulp-concat": "^2.6.1", "gulp-less": "^3.0.1", "gulp-rename": "^1.4.0", "gulp-sass": "^4.0.2", "gulp-sourcemaps": "^2.6.5", "gulp-uglify": "^3.0.2", "install": "^0.12.2", "less": "^3.9.0", "pump": "^3.0.0", "rename": "^1.0.4"} }^ > package.json
    echo '执行更新安装操作'
    call cnpm install
    ::目前没搞定如何原样的写入文件
    echo "监听脚本";
    echo '@echo '>watch.bat
    echo 'gulp watch '>>watch.bat
    echo ' @pause'>>watch.bat
    echo '完成本次操作'
    @pause
    

    相关文章

      网友评论

          本文标题:window 命令bat语法

          本文链接:https://www.haomeiwen.com/subject/mynfvqtx.html