需求:读取station.ini文件,创建父节点(上、下、客场站集)文件夹到D盘,并根据配置拷贝当前文件夹下各个目录到指定的父节点文件夹。
以下为.bat文件内容:
@echo off & setlocal enabledelayedexpansion
 COLOR 0a
 FOR /F "eol=; tokens=1* delims==" %%i IN (G:Sourcestation.ini) do (
     set p=%%i
     set q=%%j
     if "!p:~0,1!"=="[" (
         if "!p:~-1!"=="]" (
             rem 获取站名
             set name=!p:~1,-1!
         )
     )else (        
         set fatherNm=!p!
         set fileNm=!q! 
         if "!fatherNm!"=="fatherName" (
             rem 获取父节点名称并创建文件夹
             if not exist d:!fileNm! md d:!fileNm!            
             set creatFile=!fileNm!          
         )        
     )
     if not "!name!"=="" (
         if not "!creatFile!"=="" (       
             rem 拷贝G:Source下各个文件夹到对应的站集 遍历G:Source文件
             for /d %%a in (*) do (
                 set sonFileNm=%%a
                 if "!sonFileNm!"=="!name!" (                
                     if not exist d:!creatFile!!sonFileNm! ( 
                         rem 以下赋值目的在于剔除末尾空格
                         set covertFileNm=!creatFile: =!
                         xcopy "G:Source!sonFileNm!" "d:!covertFileNm!!sonFileNm!" /e/h/r/y                        
                     ) else (
                     echo 存在同名文件&goto :eof
                     )
                 )
             )
             set name=
             set creatFile=
          )
     )
 )
 pause
各个文件存放位置如下图所示:
 
结果为在D盘生成三个文件夹。
配置文件内容:(station.ini)
;;[SJT]当前站站码缩写
 ;;stationNm当前站名
 ;;areaNo当前站场码
 ;;fatherName归属于某个站集
 ;;=前后不要有空格
 [sjt]
 stationNm=上峰尾
 areaNo=0x06
 fatherName=上行站集
[ssc]
 stationNm=上出发
 areaNo=0x04
 fatherName=上行站集
[ssd]
 stationNm=上到达
 areaNo=0x02
 fatherName=上行站集
[sxf]
 stationNm=下峰尾
 areaNo=0x05
 fatherName=下行站集
[sxc]
 stationNm=下出发
 areaNo=0x03
 fatherName=上行站集
[sxd]
 stationNm=下到达
 areaNo=0x01
 fatherName=上行站集
[snk]
 stationNm=客场
 areaNo=0x07
 fatherName=客场站集
 
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rgzn-zryycl/29203.html