标题: [文件操作] [已解决]批处理怎样把文本文件合并到一个文件夹? [打印本页]
作者: swanseabrian 时间: 2021-10-12 12:55 标题: [已解决]批处理怎样把文本文件合并到一个文件夹?
本帖最后由 swanseabrian 于 2021-10-28 11:51 编辑
在一个文件夹里面1000个txt文本,那么通过命令设置两个txt文本归一个文件夹。那么总共有500个文件夹
可不可以自己设置合并的个数,
也就是设置成3个文本合并到一个文件夹,
或者4,5,6个合并到一个文件夹呢
作者: qixiaobin0715 时间: 2021-10-12 13:25
回复 1# swanseabrian
牵涉到算法问题,是这意思吗:- @echo off
- ::设置合并文本数量
- set a=2
- setlocal enabledelayedexpansion
- for %%a in (*.txt) do (
- set /a n+=1
- set /a m=(n+a-1^)/a
- if not exist 分组!m! md 分组!m!
- copy "%%a" "分组!m!"
- )
- pause
复制代码
作者: swanseabrian 时间: 2021-10-12 19:36
回复 2# qixiaobin0715
请问这是啥意思
m=(n+a-1^)/a
看 不懂呢
作者: Batcher 时间: 2021-10-12 22:02
回复 1# swanseabrian
我来一个不需要算法的,你试试能否看懂:- @echo off
- setlocal enabledelayedexpansion
- cd /d "%~dp0"
- REM 设置合并文本数量
- set x=2
- set FolderNum=1001
- set FileNum=0
- for %%i in (*.txt) do (
- if not exist "!FolderNum!" (
- md "!FolderNum!"
- )
- move /y "%%i" "!FolderNum!"
- set /a FileNum+=1
- if !FileNum! equ !x! (
- set /a FolderNum+=1
- set FileNum=0
- )
- )
复制代码
作者: qixiaobin0715 时间: 2021-10-13 09:14
回复 3# swanseabrian
不知你是指表达式本身,还是最后的数值?
作者: swanseabrian 时间: 2021-10-13 10:43
回复 4# Batcher
你这个可以看懂,不过用算法的,真简单,看着
如何 设置文件夹,从001-200呢,就是从001开始,计数
作者: swanseabrian 时间: 2021-10-13 10:45
回复 5# qixiaobin0715
a-1^
这个是啥
作者: qixiaobin0715 时间: 2021-10-13 10:55
本帖最后由 qixiaobin0715 于 2021-10-13 11:10 编辑
回复 7# swanseabrian
有括号的复合语句中变量设置时,含有括号的需转义,否则会出错。
作者: qixiaobin0715 时间: 2021-10-13 12:21
本帖最后由 qixiaobin0715 于 2021-10-13 12:30 编辑
上面的情况可用下面两组代码试试:
示范1- @echo off
- echo,()
- (
- echo,()
- )
- pause
复制代码
括号外没问题。
————————————————
示范2- @echo off
- (
- echo,(^)
- )
- pause
复制代码
作者: Batcher 时间: 2021-10-13 12:38
回复 6# swanseabrian - @echo off
- setlocal enabledelayedexpansion
- cd /d "%~dp0"
- REM 设置合并文本数量
- set x=2
- set FolderNum=1001
- set FileNum=0
- for %%i in (*.txt) do (
- if not exist "!FolderNum:~1!" (
- md "!FolderNum:~1!"
- )
- move /y "%%i" "!FolderNum:~1!"
- set /a FileNum+=1
- if !FileNum! equ !x! (
- set /a FolderNum+=1
- set FileNum=0
- )
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |