作者Ayiyaya (逸)
看板EZsoft
标题[分享] 批次档产生指定字串+流水号
时间Fri Aug 19 13:21:39 2016
相当简单的需求
以往都是透过 Excel 达成,却常有杀鸡用牛刀的感慨
使用过版友与其他网友提供的各种批次档
觉得批次档应该可以达成这简单的需求
所以尝试自己动手写一个
自己不会写程式(有一点学生时期电算课的模糊印象)
用力爬文参考(抄袭XD)许多前辈分享的批次档
终於勉强写出本文分享的批次档
一开始写得落落长又很混乱,也充满 bug
根本不敢拿出来见人...
能力有限,即使花许多时间也只能精简与除错到目前程度
还有一些问题,不过已经完全满足自己使用上的需求
自己动手完成,既好玩又有成就感
开心之余,顺手分享给可能有类似需求的版友
尚存问题:
.由於数值前补零的需求,数值范围限於 1~999
(自己的使用需求很少超过这范围)
.前、後缀值若包含特殊字元,可能会出错
(没有纪录下来,也没有一一测试)
注意!
若执行批次档所在目录存在名为
MyNum.txt 的档案
将於执行本批次档时不经过询问直接删除
若您恰好有与
MyNum.txt 相同档名的档案
请避免与本批次档放在相同路径底下执行
以下虚线後是本次野人献曝的弱弱批次档:
---------------------------------------------------
@echo off
title MyNum
If exist MyNum.txt del /f MyNum.txt
:RESN
echo.
SET /P SN=开始 (空值为 1):
cls
If "%SN%"=="" set SN=1
If %SN% LSS 1 set SN=1
If %SN% GEQ 999 set SN="" & goto RESN
:REEN
cls
echo.
echo 开始 (空值为 1): %SN%
SET /P EN=结束 (最大 999):
If "%EN%"=="" goto REEN
If %EN% LEQ %SN% goto REEN
If %EN% GEQ 1000 set EN=999
echo.
If "%PF%"=="" (SET /P PF=前缀 : )
If "%SF%"=="" (SET /P SF=後缀 : )
If %EN% GEQ 10 SET ZA=0
If %EN% GEQ 100 SET ZB=0
SET ZF=%ZA%%ZB%
for /l %%i in (%SN% 1 %EN%) do (
If %%i LSS 10 echo %PF%%ZF%%%i%SF%>> MyNum.txt
If %%i GEQ 10 for /l %%j in (10 1 99) do (
If %%i == %%j echo %PF%%ZB%%%i%SF%>> MyNum.txt)
If %%i GEQ 100 echo %PF%%%i%SF%>> MyNum.txt
)
start MyNum.txt
exit
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.251.141.45
※ 编辑: Ayiyaya (111.251.141.45), 08/19/2016 13:37:09
1F:推 snowwolf725: 感谢分享^^ 08/19 18:23
2F:推 CHiDo: 也很合适放到 EzHotKey 板 08/21 10:17