Board logo

标题: [文件操作] 求助批处理TXT文件批量修改文件名 [打印本页]

作者: zxcdingjia    时间: 2020-6-22 11:13     标题: 求助批处理TXT文件批量修改文件名

批处理抓取TXT文档里固定位置的内容来重命名文件(1000多个)
本来是HTML文件我转换成了TXT,有不用转换可以批量修改的方法也行。
需要抓取第9行,第45-64列的文字来重命名文件,就是图内选定蓝色的日期。(这个日期是固定的位置)
作者: wujunkai    时间: 2020-6-22 12:11

原文件叫什么?
第45-64列的文字
是什么意思?

请表达清楚点
如果能把html文件发上来更好
作者: zxcdingjia    时间: 2020-6-22 14:26

回复 2# wujunkai


    源文件是HTML(1000多个)被我批量转换为了TXT  现在就是把TXT文件里那段选定的时间作为文件的名字
这些被转换为TXT文件的前9行代码截至到时间前面全都一致
作者: zxcdingjia    时间: 2020-6-22 14:30

回复 2# wujunkai


   HTML文件转换为TXT后图片里选定的那个时间是在第9行 从45列开始至64列结束
1000多个文件这段时间都不重复
作者: Batcher    时间: 2020-6-22 14:45

回复 1# zxcdingjia


    请把其中一个txt文件压缩一下传上来我测试代码
作者: zxcdingjia    时间: 2020-6-22 14:48

回复 5# Batcher
作者: smss    时间: 2020-6-22 15:38

回复 6# zxcdingjia
截取时间命名该文本吗2020-06-05 18:18:37
如果是命名时不可包含:
作者: zxcdingjia    时间: 2020-6-22 15:44

回复 7# smss


    不要:也可以的
作者: smss    时间: 2020-6-22 18:08

  1. powershell "if(((gc '*.txt') -join \"`r`n\") -match '\"publish\" content=\"published at (.+?) from mysteel-publish-web\"'){$matches[1]}"
复制代码
  1. powershell "if(((gc '*.txt') -join \"`r`n\") -match '\"publish\" content=\"published at (.+?) from mysteel-publish-web\"'){$matches[1]};get-childItem  -r *.txt | rename-Item -newname{$matches[1]+'.txt'}"
复制代码
结合这个改改就能用了
http://www.bathome.net/viewthread.php?tid=55818&rpid=229402
作者: Batcher    时间: 2020-6-22 19:34

回复 6# zxcdingjia
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. for /f "delims=" %%a in ('dir /b /a-d *.txt') do (
  5.     call :ChangeName "%%a"
  6.     ren "%%a" "!NewName!%%~xa"
  7. )
  8. goto :eof
  9. :ChangeName
  10. for /f "skip=8 tokens=3 delims==" %%i in ('type %1') do (
  11.     set "str=%%i"
  12.     goto :GetName
  13. )
  14. goto :eof
  15. :GetName
  16. set "NewName=!str:~14,19!"
  17. set "NewName=!NewName::=!"
  18. goto :eof
复制代码

作者: zxcdingjia    时间: 2020-6-22 20:21

回复 10# Batcher


    谢谢大佬 很好用
作者: zxcdingjia    时间: 2020-6-22 20:22

回复 9# smss


    谢谢  已经解决了




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