赵佳乐SMILE 发表于 2014-12-26 13:11:47

【我分享】BAT自动生成上传文件的测试数据

本帖最后由 赵佳乐SMILE 于 2014-12-26 13:13 编辑

新线中有一个上传光盘的功能
首先上传一个光盘统计信息.csv 里面记录了有几张光盘和其它信息
然后上传光盘
限制为 统计信息有严格的名称要求,一个光盘名称只能上传一次
在测试的时候 就采用手动复制一份原始光盘 然后重命名9个后缀名 在修改.csv里面光盘名称的方式
非常的累啊,测试10条数据就得F2 100次啊
于是趁最近环境挂掉了就写了个这个 自动产生测试数据的bat

这个脚本也可以扩展为 上传图片、上传其他东西的测试 修改红色的部分和其他的地方就可以了
因为以前的脚本是上午开发的 某天下午用的时候发现了1个bug
14点 被解析成了04 把一行代码改成了4行 解决


@echo off

SetLocal EnableDelayedExpansion

set /p filename=要建立的目录名:

REM 创建目标文件目录名
md %~dp0\%filename%

echo 完成新目录%filename%创建!

set /p disknum=要自动创建的光盘数:

REM 取得当前时间
set datavar=%date:~0,4%%date:~5,2%%date:~8,2%
set timevar=%time:~0,2%
if /i %timevar% LSS 10(set timevar=0%time:~1,1%)
set newname=%datavar%%timevar%%time:~3,2%%time:~6,2%

cd %filename%

echo<font color="#ff0000"> ID,光盘名,表头1,表头2</font>>><font color="#ff0000">统计</font>.csv

cd ..\data

for /l %%j in (1,1,%disknum%) do (

    echo 这是第 %%j 份光盘

    REM 要查找的文件
    set ext=<font color="#ff0000">*.后缀名1,*.后缀名2,*.wmv</font>
   
    for %%i in (!ext!) do (

    xcopy %%~ni%%~xi ..\%filename%
   
    cd ..\%filename%
    ren %%~ni%%~xi %newname%-%%j%%~xi

    cd ..\data
    )
    cd ..\%filename%
    echo %%j,%newname%-%%j%<font color="#ff0000">,数据1,数据2</font>>>统计.csv
    cd ..\data
)pause

=======================================================================================
写的过程是极其痛苦的
因为很多东西都不会 现查现写现改
推翻了自己3次的思想
记录一下要点
1.set /p 变量 等待用户输入
2.%~dp0 取得当前.dat 所在的目录名 尽量不要用%cd%
3. md 创建文件夹
4.取得当前时间精确到时分秒 而且<10点的时候 还保留0 之前调的时候 不到10点会有个空格
%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%
5.写入文件 echo 内容>>统计.csv 注意不用加“号等符号
6.for 的使用 指定循环测试 for /l %%j in (1,1,%disknum%)注意有逗号 第一次写的时候都没写逗号
7.for %%i in (!ext!) 这个叫遍历文件
8.xcopy 命令 用于复制
9.ren 命令 用于重命名
10.引用for 中的i 要使用2个%%
========================================================================================
不足:
1.如果data 目录下的一个后缀名 有多条记录 就处理不了
2.在路径处理的时候还有些啰嗦 但是不知道怎么处理 因为如果直接写的话 数据写入不到csv中 所以就来回切换目录


原文地址:http://user.qzone.qq.com/305132437/blog/1407318870


赵佳乐SMILE 发表于 2014-12-26 13:19:40

这个代码编辑器 有点问题 代码分隔的不太对 就影响输出和暂停 影响不大

lsekfe 发表于 2014-12-26 13:23:13

必须支持下~~
页: [1]
查看完整版本: 【我分享】BAT自动生成上传文件的测试数据