BAT脚本解惑

  1. cmd命令不区分大小写

  2. 如何让bat文件命令框不关闭

    另起一行,加上pause

  3. set /aset /p中的/a/p什么意思

    set /a 执行数学计算,set /p 提示用户输入,其=右边的是提示语
    例1:@echo off
    set /p b=输入一个数字:
    echo %b%
    set /a a=2*%b%
    echo %b%+%b%=%a%
    pause>nul
    例2:set /p=你好啊!<nul 这里省掉了变量,相当于只做显示用,<nul是去掉换行
    注意:使用set /a,则变量和表达式之间可以存在空格,如set /a num=num+1set /a num = num + 1是一样的效果

  4. choice=%choice:2,3%中,2,3什么意思

    截取变量choice中从第2个字符后面开始的3个字符(即从下标为2的字符开始截取
    ),再赋给choice。如choice为1234567,则执行该语句后为345。
    如果两个数字(偏移量和长度)都是负数,使用的数字则是环境变量数值长度加上指定的偏移量或长度。即:
    % choice:~-10% 会提取choice变量的最后十个字符。
    % choice:~0,-2% 会提取choice变量的所有字符,除了最后两个
    % choice:~-3,-2% 会提取choice变量倒数第三个字符,左闭右开

  5. 批处理中的***>nul是什么意思

    >nul是1>nul的缩写,nul即null的简称。整体的意思就是把数据输出到空设备,不在命令行显示
    <nul,从空设备中读入信息,效果是不换行
    @echo off
    set /p s=A<nul
    set /p s=B
    pause

  6. Exit与goto :eof的区别

    运行goto :eof后,cmd返回并将等待下一条命令;运行exit后,cmd将直接关闭

  7. 121%%100是什么意思

    数值121按100进行求余运算,%%就是求余运算符

  8. Echo处于关闭状态分析

    @echo off
    set s = “a”
    echo %s%
    pause
    这条语句会报echo处于关闭状态,原因是找不到这个变量s,因为代码中只有变量“s ”,注意,这个变量是有空格的。
    在bat语句中,=左边的所有值都将成为变量的一部分,包括空格

  9. 管道命令的优先级高于重定向命令,重定向命令的优先级高于组合命令

  10. bat在goto语句块中不能用if…else…

    :pk
    for /l %%i in (1,1,99) do (
    if not “!str!”"" (
    set par=!str:~1,1!
    set str=!str:~1!
    if not “!var!”
    " " set flag=1
    ) else (
    goto :eof
    )
    )
    goto :eof
    注意:if的结束括号、else、else的开始括号要在同一行

  11. 使用bat检出svn上的文件,路径对的还是报e17000000,…… don’t exist的问题

    由于从浏览器复制过来的url地址,在bat文件中被编码成了url独有的地址,win默认的编码格式与之不同,解析出错,所以报找不到此路径。可以在检出之前如此设置
    @echo off
    set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    svn checkout https://192.168.xxx.xxx/svn/xxxx/xxxx/ D:\Projects\xxxx\web --username test --password test
    pause

  12. cd与cd /d的区别

    cd是不会修改当前目录的,而cd /d能修改当前目录
    这里写图片描述
    cd …  回到上级目录
    cd .  当前目录
    cd /  根目录

  13. echo. 换行

  14. 如何查找文件

    查找某个目录下的文件:dir d:\test|find "txt"
    查找某个目录及其子目录下的文件:for /r d:\test %i in (*txt) do @echo %i,括号中的匹配模式一定要带至少一个*,否则查找不准

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值