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

[文本处理] 【已解决】批处理如何将文件名开头字符相同的文件进行合并?

本帖最后由 wzf1024 于 2016-2-19 20:38 编辑

有很多txt文件,如:
中国01.txt
中国02.txt
中国03.txt
伊朗01.txt
伊朗02.txt
美国01.txt
美国02.txt
……
如何分别合并文件名相同但序号不同的文件,最后得到:
中国.txt
伊朗.txt
美国.txt
……

回复 7# wzf1024


这个规则有点儿diǎo。
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

回复 6# pcl_test


    抱歉,再次测试没有出现问题,但是子文件夹下的文件不能操作,如何包括子文件夹下的文件?

TOP

本帖最后由 wzf1024 于 2016-1-20 00:20 编辑

回复 4# flyinnet9


    序号之前存在数字的文件也被复制一份到创建的文件夹了,如何避免?比如:
兼具“络穴”“八脉交会穴”2种属性的穴位除外[ ].txt

会在创建的文件夹中出现一个:
兼具“络穴”“八脉交会穴”.txt

实际上它是无辜的

TOP

回复 5# wzf1024

怎么测试的

TOP

回复 3# pcl_test


    每个文件复制了4遍

TOP

  1. @echo off
  2. md 合并 2>nul
  3. for /f "tokens=1 delims=0123456789" %%a in ('dir /a-d /b *.txt') do set #%%a=%%a
  4. for /f "tokens=2 delims==" %%a in ('set #') do copy /b %%a*.txt 合并\%%a.txt >nul
  5. echo.合并完成!
  6. pause
复制代码
1

评分人数

TOP

本帖最后由 pcl_test 于 2016-1-24 17:39 编辑

打酱油,假设LZ已处理序号排序及每个文本末行行尾换行的问题
  1. /*&cls
  2. @echo off
  3. md "合并\"
  4. for /f "delims=" %%a in (
  5.     'dir /a-d /b *.txt^|findstr /i "[0-9]*[0-9]\.txt$"^|cscript -nologo -e:jscript "%~f0"'
  6. ) do copy /b "%%a*.txt" "合并\%%a.txt"
  7. pause&exit
  8. */
  9. var map ={}, s='';
  10. while(!WScript.StdIn.AtEndOfStream){
  11.     var fn = WScript.StdIn.ReadLine().replace(/\s*\d+\.[^\.]+$/, '');
  12.     if(!map[fn]){map[fn] = true;s+=fn+'\r\n';}
  13. }
  14. WSH.echo(s);
复制代码
1

评分人数

TOP

回复 1# wzf1024
  1. @echo off&(setlocal enabledelayedexpansion)>nul 2>nul
  2. for /f "delims=" %%i in ('dir/a-d/b/l/on ".\*.txt"')do (set "#new=%%~nxi"
  3. for /l %%j in (1,1,100)do (
  4.   for /l %%n in (0,1,9)do (
  5.    set "#new=!#new:%%n%%~xi=%%~xi!"
  6.    set "#new=!#new: %%~xi=%%~xi!"
  7.   )
  8. )
  9. if exist ".\!#new!\" echo, !#new! 文件夹存在可能无法创建文件,整理后继续&pause
  10. for /f "delims=" %%j in ('type ".\%%~nxi"')do (
  11.   if not exist ".\!#new!\" if exist ".\!#new!" (
  12.    (echo,%%j)>>".\!#new!"
  13.   )else (
  14.    (echo,%%j)>".\!#new!"
  15.   )
  16. )
  17. )
  18. pause
复制代码
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

返回列表