Board logo

标题: [文件操作] 求助批处理按条件批量创建文件夹 [打印本页]

作者: guanqi945a    时间: 2023-6-7 22:33     标题: 求助批处理按条件批量创建文件夹

我想用这样的形势批量创建对应的文件夹比如:
112
113
114
115
116
117
118-119
120
121-125
126
完成就是:
00112
00113
00114
00115
00116
00117
00118-0019
00120
00121-00125
00126
这样的,麻烦哪位大神有办法,帮帮忙!谢谢啦!
作者: qixiaobin0715    时间: 2023-6-8 09:48

  1. @echo off
  2. for %%a in (112
  3. 113
  4. 114
  5. 115
  6. 116
  7. 117
  8. 118-119
  9. 120
  10. 121-125
  11. 126) do (
  12.     for /f "tokens=1* delims=-" %%i in ("%%a") do (
  13.         if "%%j"=="" (
  14.             md 00%%i
  15.         ) else (
  16.             md 00%%i-00%%j
  17.         )
  18.     )
  19. )
  20. pause
复制代码

作者: guanqi945a    时间: 2023-6-8 10:32

回复 2# qixiaobin0715
谢谢大神!有没有更简便的方法,比如直接输入就可以批量创建!
作者: qixiaobin0715    时间: 2023-6-8 10:37

你可以重新看看你的帖子,是不是只有你自己才明白?别人如何帮你。
作者: guanqi945a    时间: 2023-6-8 10:43

回复 4# qixiaobin0715
哈哈!不太会形容,我也不懂,我这串数字是从Excel上复制的。就想方便点,我还要建好多这种!大概有一万多个呢!😭
作者: 77七    时间: 2023-6-8 11:21

00118-0019

这是笔误吗?
是打算在数字前面补0补到5位数,还是只需要添加两个0?
作者: qixiaobin0715    时间: 2023-6-8 11:22

复制数据到文本文件 1.txt,将1.txt和批处理文件放在要创建文件夹的目录中:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1* delims=-" %%i in (1.txt) do (
  4.     if "%%j"=="" (
  5.         set str=0000%%i
  6.         md !str:~-5!
  7.     ) else (
  8.         set str1=0000%%i
  9.         set str2=0000%%j
  10.         md !str1:~-5!-!str2:~-5!
  11.     )
  12. )
  13. pause
复制代码

作者: guanqi945a    时间: 2023-6-8 11:39

回复 7# qixiaobin0715
十分感谢
作者: guanqi945a    时间: 2023-6-8 11:40

回复 6# 77七
用0补位,写错了,对不起




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2