[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理怎样把文本文件合并到一个文件夹?

本帖最后由 swanseabrian 于 2021-10-28 11:51 编辑

在一个文件夹里面1000个txt文本,那么通过命令设置两个txt文本归一个文件夹。那么总共有500个文件夹

可不可以自己设置合并的个数,

也就是设置成3个文本合并到一个文件夹,

或者4,5,6个合并到一个文件夹呢

回复 6# swanseabrian
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. REM 设置合并文本数量
  5. set x=2
  6. set FolderNum=1001
  7. set FileNum=0
  8. for %%i in (*.txt) do (
  9.     if not exist "!FolderNum:~1!" (
  10.         md "!FolderNum:~1!"
  11.     )
  12.     move /y "%%i" "!FolderNum:~1!"
  13.     set /a FileNum+=1
  14.     if !FileNum! equ !x! (
  15.         set /a FolderNum+=1
  16.         set FileNum=0
  17.     )
  18. )
复制代码
1

评分人数

    • swanseabrian: 这个可以设置文件夹名字,还是这个好一些技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 qixiaobin0715 于 2021-10-13 12:30 编辑

上面的情况可用下面两组代码试试:
示范1
  1. @echo off
  2. echo,()
  3. (
  4. echo,()
  5. )
  6. pause
复制代码
括号外没问题。
————————————————
示范2
  1. @echo off
  2. (
  3. echo,(^)
  4. )
  5. pause
复制代码

TOP

本帖最后由 qixiaobin0715 于 2021-10-13 11:10 编辑

回复 7# swanseabrian
有括号的复合语句中变量设置时,含有括号的需转义,否则会出错。

TOP

回复 5# qixiaobin0715


    a-1^
这个是啥

TOP

回复 4# Batcher


    你这个可以看懂,不过用算法的,真简单,看着
如何 设置文件夹,从001-200呢,就是从001开始,计数

TOP

回复 3# swanseabrian
不知你是指表达式本身,还是最后的数值?

TOP

回复 1# swanseabrian


我来一个不需要算法的,你试试能否看懂:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. REM 设置合并文本数量
  5. set x=2
  6. set FolderNum=1001
  7. set FileNum=0
  8. for %%i in (*.txt) do (
  9.     if not exist "!FolderNum!" (
  10.         md "!FolderNum!"
  11.     )
  12.     move /y "%%i" "!FolderNum!"
  13.     set /a FileNum+=1
  14.     if !FileNum! equ !x! (
  15.         set /a FolderNum+=1
  16.         set FileNum=0
  17.     )
  18. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# qixiaobin0715


    请问这是啥意思
m=(n+a-1^)/a
看 不懂呢

TOP

回复 1# swanseabrian
牵涉到算法问题,是这意思吗:
  1. @echo off
  2. ::设置合并文本数量
  3. set a=2
  4. setlocal enabledelayedexpansion
  5. for %%a in (*.txt) do (
  6.     set /a n+=1
  7.     set /a m=(n+a-1^)/a
  8.     if not exist 分组!m! md 分组!m!
  9.     copy "%%a" "分组!m!"
  10. )
  11. pause
复制代码

TOP

返回列表