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

[文件操作] 求助批处理TXT文件批量修改文件名

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

回复 9# smss


    谢谢  已经解决了

TOP

回复 10# Batcher


    谢谢大佬 很好用

TOP

回复 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
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  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

TOP

回复 7# smss


    不要:也可以的

TOP

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

TOP

回复 5# Batcher

TOP

回复 1# zxcdingjia


    请把其中一个txt文件压缩一下传上来我测试代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# wujunkai


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

TOP

回复 2# wujunkai


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

TOP

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

请表达清楚点
如果能把html文件发上来更好

TOP

返回列表