标题: [文本处理] 【已解决】求批处理实现桌号快速生成方法 [打印本页]
作者: rockjean 时间: 2019-10-23 10:39 标题: 【已解决】求批处理实现桌号快速生成方法
本帖最后由 rockjean 于 2019-10-24 16:28 编辑
公司举办晚宴,需要打印入场券桌号,共有45桌,每桌10人,现在需要生成如下的格式:
01桌01号
01桌02号
01桌03号
……
01桌10号
02桌01号
02桌02号
……
请问有什么方法可以用批处理快速生成桌号,只需要这样的格式:
01 01
01 02
01 03
……
01 10
02 01
02 02
……
因为下次可能去集团总部举办,就会有300多桌……
作者: rockjean 时间: 2019-10-23 10:56
我想这么干,先取得桌数,比如300桌,用Excel拉个数据001~300,每个桌数号为一行,生成文本:桌数.txt
然后取得每桌的位数,比如10位,也用Excel拉个数据01~10,一条数据一行,生成文本:位数.txt
接下来就是提第一行桌数号,分别提十次位数号,如法炮制,提第二行桌数号,分别再提位数号……
就是这样用批处理要怎么操作呢?
作者: cfwyy77_bat 时间: 2019-10-23 12:03
其实就两层for循环,纯P的补0好像有点讨厌,不太想用。用其它的都很方便。
powershell:- $T=45
- $N=10
- for($i=1;$i -le $T;$i++)
- {
- for($j=1;$j -le $N;$j++)
- {
- '{0:d2} {1:d2}' -f $i,$j
- }
- }
复制代码
作者: Batcher 时间: 2019-10-23 13:54
- @echo off
- setlocal enabledelayedexpansion
- set DeskBegin=1001
- set DeskNum=300
- set ChairBegin=101
- set ChairEnd=110
- set /a DeskEnd=1000+DeskNum
- (for /l %%i in (%DeskBegin%,1,%DeskEnd%) do (
- set SuffixDesk=%%i
- for /l %%j in (%ChairBegin%,1,%ChairEnd%) do (
- set SuffixChair=%%j
- echo !SuffixDesk:~-3!桌!SuffixChair:~-2!号
- )
- ))>"桌号.txt"
复制代码
作者: rockjean 时间: 2019-10-23 14:55
回复 4# Batcher
不知道是什么原因呢?
作者: Batcher 时间: 2019-10-23 17:00
回复 5# rockjean
用记事本打开你的bat
文件
另存为
选择ANSI编码
作者: rockjean 时间: 2019-10-24 16:25
回复 6# Batcher
果真可以了,感谢大神!懒人又推动更进一步~
作者: rockjean 时间: 2019-10-29 08:30
回复 3# cfwyy77_bat
Powershell没有入门,依旧感谢~
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |