批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文本处理] 【已解决】求批处理实现桌号快速生成方法

本帖最后由 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多桌……
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

我想这么干,先取得桌数,比如300桌,用Excel拉个数据001~300,每个桌数号为一行,生成文本:桌数.txt
然后取得每桌的位数,比如10位,也用Excel拉个数据01~10,一条数据一行,生成文本:位数.txt
接下来就是提第一行桌数号,分别提十次位数号,如法炮制,提第二行桌数号,分别再提位数号……
就是这样用批处理要怎么操作呢?

TOP

其实就两层for循环,纯P的补0好像有点讨厌,不太想用。用其它的都很方便。
powershell:
  1. $T=45
  2. $N=10
  3. for($i=1;$i -le $T;$i++)
  4. {
  5.     for($j=1;$j -le $N;$j++)
  6.         {
  7.             '{0:d2} {1:d2}' -f $i,$j
  8.         }
  9. }
复制代码

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set DeskBegin=1001
  4. set DeskNum=300
  5. set ChairBegin=101
  6. set ChairEnd=110
  7. set /a DeskEnd=1000+DeskNum
  8. (for /l %%i in (%DeskBegin%,1,%DeskEnd%) do (
  9.     set SuffixDesk=%%i
  10.     for /l %%j in (%ChairBegin%,1,%ChairEnd%) do (
  11.         set SuffixChair=%%j
  12.         echo !SuffixDesk:~-3!桌!SuffixChair:~-2!号
  13.     )
  14. ))>"桌号.txt"
复制代码
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

回复 4# Batcher


   

不知道是什么原因呢?
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

回复 5# rockjean


用记事本打开你的bat
文件
另存为
选择ANSI编码
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

回复 6# Batcher


   

果真可以了,感谢大神!懒人又推动更进一步~
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

回复 3# cfwyy77_bat


    Powershell没有入门,依旧感谢~

TOP

返回列表