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

[文本处理] 批处理如何根据文本内容修改文件名

本帖最后由 CrLf 于 2012-1-14 00:58 编辑

文件夹内的每个txt第一行第六个字符和第二行第一个字符开始用各个txt名称并去除包含txt名称中包含的" 1900"到" 5000"
比如有
abc 1900.txt
abcd 1901.txt
abcde 1902.txt
生成的效果是
abc 1900.txt里面的内容第一行第六个字符开始生成abc,第二行第一个字符开始生成abc
abcd 1901.txt里面的内容第一行第六个字符开始生成abcd,第二行第一个字符开始生成abcd
abcde 1902.txt里面的内容第一行第六个字符开始生成abcde,第二行第一个字符开始生成abcde
这样子可以做到吗?谢谢大家

本帖最后由 ivor 于 2012-1-13 22:33 编辑

回复 1# linqing0
  1. @echo off
  2. for /r %%i in (*.txt) do (
  3. for /f "tokens=1,2" %%j in ("%%~nxi") do (
  4. echo      %%j>%%i
  5. echo %%j>>%%i
  6. )
  7. )
复制代码

TOP

本帖最后由 linqing0 于 2012-1-13 22:39 编辑

谢谢ivor,我运行试了一下,可以修改,但是有时候txt文本是abc abcd 1900.txt这种的生成的效果变成abc了,如果我想要达到的效果是abc abcd这样子要怎么做,
还有一点请教一下,如果txt文本里原来有内容的话,只是要把内容添加进去要怎么做

TOP

能否上传一两个小样本?

TOP

比如abc cde 1900.txt里的内容是
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
要达到的效果是
hhhhhabc cdehhhhhhhhhh
abc cdehhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
就是要把最后一节去除

TOP

本帖最后由 ivor 于 2012-1-14 14:16 编辑

回复 5# linqing0
  1. @echo off & setlocal ENABLEDELAYEDEXPANSION
  2. md ..\NewFolder 2>nul
  3. for /r %%i in (*.txt) do (
  4.         set File=%%~ni
  5. set File=!File:~0,-5!
  6. set Count=0
  7. for /f "usebackq" %%j in ("%%i") do (
  8. set /a Count+=1
  9. if !Count! LEQ 2 (
  10. set Str=%%j
  11. ECHO !Str:~,5!!File!!Str:~5! > ..\NewFolder\%%~nxi
  12. if !Count! EQU 2 (
  13. ECHO !File!%%j >> ..\NewFolder\%%~nxi
  14. )
  15. ) else (
  16. echo %%j >> ..\NewFolder\%%~nxi
  17. )
  18. )
  19. )
  20. ::处理的结果已经放在了上层目录中的NewFolder目录中
  21. pause
复制代码
用之前注意备份数据

TOP

谢谢ivor写了这么多代码,辛苦了

TOP

本帖最后由 linqing0 于 2012-1-14 19:21 编辑

代码在不包含特殊字符的时候可以完美运行,我有一个疑问请教一下
比如abc cde 1900.txt里的内容是
[hhh]hhhh hhh(h@h@h)h
,hhh,hhh,hhh,hhh,hhh
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
要达到的效果是
[hhh]abc cdehhhh hhh(h@h@h)h
abc cde,hh h,hh h,hh h,hh h,hh h
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
hhhhhhhhhhhhhhh
这样子的情况要怎么做,谢谢

TOP

返回列表