zoukankan      html  css  js  c++  java
  • 第一个 bat 文件

    要写一个批处理命令 转换场景数据

    包括从文件里读入 

    每一行信息是一个要转换的场景名字

    可以拼出路径

    到指定路径 执行命令

    http://blog.csdn.net/mfx1986/article/details/5606228

    FOR /F %%i IN xx.txt DO xxxx

    截取字符串

    @echo off
    set ifo=abcdefghijklmnopqrstuvwxyz0 12 3456789
    echo 原字符串(第二行为各字符的序号):
    echo %ifo%
    echo 1234567890123 45678901234567890123456
    echo 截取前5个字符
    echo %ifo:~0,5%
    echo 截取最后5个字符
    echo %ifo:~-5%
    echo 截取第一个到倒数第6个字符
    echo %ifo:~0,-5%
    echo 从第4个字符开始,截取5个字符:
    echo %ifo:~3,5%
    echo 从倒数第14个字符开始,截取5个字符:
    echo %ifo:~-14,5%
    pause
     
    变量延迟
    setlocal enabledelayedexpansion
     
    现在遇到的问题是在for loop 里set var  之后echo都是空的
    显示echo off ....echo on
    http://blog.csdn.net/bingjie1217/article/details/12947327
     
    http://www.cnblogs.com/dfg727/archive/2013/04/24/3040965.html
    http://stackoverflow.com/questions/13805187/how-to-set-a-variable-inside-a-loop-for-f
    ....我要把自己埋吐血了
    各种尝试怎么都没法给 var赋值
    明明变量延迟已经开了,最后我连函数都尝试了
     
    终于明白,是我最近养成的 等号前后空格的好习惯。。。
    我可悲的coding style 怪不得var一直都是空!!!
    for /F "tokens=*" %%a in ('type %FileName%') do call :Foo %%a
    goto End
    
    :Foo
    set z=%1
    echo %z%
    echo %1
    goto :eof
    
    :End
    是那个等号前后都不能有空格的意思。。。。花了我一个半小时。。。
    ==================================================================
     
    终于明白,是我最近养成的 等号前后空格的好习惯。。。
    如果不算之前调试phyreengine那次,这是我第一个bat
    好开心哈哈,我要把它抄过来,外面好热,今天有37度,我在加班,快十点了,因为外面太热了并且我有一个包子。
     
     1 @echo off
     2 setlocal EnableDelayedExpansion
     3 set rootMap=...
     4 rem there is a space between do and ( 
     5 for /f %%i in (maplist.txt) do (
     6 rem no space before and after = with set
     7 set scene=%%i
     8 set dir=!scene:~0,-2!
     9 set rootDir=!rootMap!!dir!!scene!
    10 
    11 c:
    12 cd !rootDir!
    13 call !rootMap!...exe -para...
      @echo off
      setlocal EnableDelayedExpansion
      set rootMap=...
      rem there is a space between do and ( 
      for /f %%i in (maplist.txt) do (
      rem no space before and after = with set
      set scene=%%i
      set dir=!scene:~0,-2!
      set rootDir=!rootMap!!dir!!scene!
     
     c:
     cd !rootDir!
     call !rootMap!...exe -para...
    ========================================
    因为要buildmachine来编,这个bat有了2。0版本

    其中我遇到个问题 就是 cd ..
    一 cd 就闪退
    原因是 不要双击bat而是
    >cd ......
    ......>xxx.bat

    2.0版本是这样的加了几个
    cd..
    call ....xxx.exe


     
  • 相关阅读:
    架构漫谈阅读笔记
    《七步掌握业务分析》读书笔记六
    《七步掌握业务分析》读书笔记五
    《七步掌握业务分析》读书笔记四
    使用JSON Web Token完成用户认证(REST framework JWT Auth)
    APIView与GenericAPIView
    支付宝支付
    视频托管和插入广告
    redis淘汰机制
    redis五种数据结构和应用场景
  • 原文地址:https://www.cnblogs.com/minggoddess/p/4684415.html
Copyright © 2011-2022 走看看