[分享] 批次檔產生指定字串+流水號

看板EZsoft (小軟體)作者 (逸)時間9年前 (2016/08/19 13:21), 9年前編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
相當簡單的需求 以往都是透過 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

08/19 18:23, , 1F
感謝分享^^
08/19 18:23, 1F

08/21 10:17, , 2F
也很合適放到 EzHotKey 板
08/21 10:17, 2F
文章代碼(AID): #1NjfTcfk (EZsoft)
文章代碼(AID): #1NjfTcfk (EZsoft)