zoukankan      html  css  js  c++  java
  • 批处理变量,扩展,及变量截取

    for /? 能看到的比下面详细

    获取文件夹的名字

    for /f "delims=" %%i in ("%cd%") do set folder=%%~ni 
    for /f "delims=" %%a in ("%CD%") do set CURR=%%a 

    1 变量

    %0 %1 %2:  参数 类似于argv

    %i   :直接在命令行for的时候 用这个

    %%i :脚本里for循环用这个

    %var% : set完了用这个

     !var!  延迟环境变量扩展 setlocal enabledelayedexpansion 时用这个

    2 复制for /?中的

    FOR 变量参照的替换已被增强。你现在可以使用下列
    选项语法:

    %~I - 删除任何引号("),扩展 %I
    %~fI - 将 %I 扩展到一个完全合格的路径名
    %~dI - 仅将 %I 扩展到一个驱动器号
    %~pI - 仅将 %I 扩展到一个路径
    %~nI - 仅将 %I 扩展到一个文件名
    %~xI - 仅将 %I 扩展到一个文件扩展名
    %~sI - 扩展的路径只含有短名
    %~aI - 将 %I 扩展到文件的文件属性
    %~tI - 将 %I 扩展到文件的日期/时间
    %~zI - 将 %I 扩展到文件的大小
    %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩展
    到找到的第一个完全合格的名称。如果环境变量名
    未被定义,或者没有找到文件,此组合键会扩展到
    空字符串

    可以组合修饰符来得到多重结果:

    %~dpI - 仅将 %I 扩展到一个驱动器号和路径
    %~nxI - 仅将 %I 扩展到一个文件名和扩展名
    %~fsI - 仅将 %I 扩展到一个带有短名的完整路径名
    %~dp$PATH:I - 搜索列在路径环境变量的目录,并将 %I 扩展
    到找到的第一个驱动器号和路径。
    %~ftzaI - 将 %I 扩展到类似输出线路的 DIR

    在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法
    用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名
    比较易读,而且避免与不分大小写的组合键混淆。

    3 字符串相关操作

    https://www.tutorialspoint.com/batch_script/batch_script_strings.htm

    替换:
    
    Example
    @echo off 
    set str=This message needs changed. 
    echo %str% 
    
    set str=%str:needs=has% 
    echo %str%
    The key thing to note about the above program is, the example replaces the word ‘needs’ with the string ‘has’ via the statement %str:needs = has%
    
    Output
    The above command produces the following output.
    
    This message needs changed. 
    This message has changed.
  • 相关阅读:
    解决跨域问题 cors~ JSONP~
    session,cookie,sessionStorage,localStorage的区别~~~前端面试
    数据库索引的理解
    script的按需加载
    es6 笔记
    JS 工具函数
    JS Error
    数组方法重写:forEach, map, filter, every, some, reduce
    JS: GO 和 AO
    立即执行函数
  • 原文地址:https://www.cnblogs.com/wolbo/p/12909231.html
Copyright © 2011-2022 走看看