zoukankan      html  css  js  c++  java
  • Bat文件脚本

    批处理文件运行机制:批处理读取命令时是按行读取的,对于for 命令等,其后用一对圆括号闭合的所有语句也当作一行。

    在for循环中,如果要循环的对某个变量进行赋值,那就需要对该变量进行动态捕获,从而获得实时变化的该变量的值。
    setlocal enabledelayedexpansion 命令就是启用变量延迟,
    (1)如果不启用变量延迟,变量在预处理阶段不作改变
    (2)如果启用变量延迟,用 ! 括起来的变量,就是需要动态捕获的目标变量,如果不需要,可以继续使用 % 括变量。

    @echo off
    setlocal enabledelayedexpansion
    set var=-1
    for /l %%i in (1 1 10) do (
        set var=%%i
        echo !var! 启用延缓环境变量,var的值是不断变化的,1->2->3,...,->10
        echo %var% 未启用延缓环境变量,var的值永远是初始化的-1
    )

    另外一个例子:

    @echo off
    setlocal enabledelayedexpansion
    set python=python.exe
    set code_e=e.code
    set code_j=j.code
    
    for /l %%i in (0,1,10) do (    
        set src=e.txt.wbr.bpe.%%i.out
        set tgt=j.txt.wbr.bpe.%%i
        start cmd /k  %python%  apply_bpe.py -c %code_j% -i !src! -o !tgt!
    )
    
    pause
  • 相关阅读:
    分治
    递归
    java三大特性之封装
    Java基础知识
    puk2367 拓扑排序
    puk1251 最小生成树
    puk1521 赫夫曼树编码
    DOSbox简单运行操作
    Mybatis初学经验----------------(2)
    mysql存储引擎MyISAM和InnoDB的区别
  • 原文地址:https://www.cnblogs.com/codeDog123/p/10628105.html
Copyright © 2011-2022 走看看