Board logo

标题: [文本处理] 批处理怎样用txt文件第一行内容来重命名文件 (批量) [打印本页]

作者: cpc19960    时间: 2019-4-2 14:12     标题: 批处理怎样用txt文件第一行内容来重命名文件 (批量)

我想买文件命名为 4IAOC.txt
我的文件夹下还有上千个格式一样的文件,都想这样做。还想请教下
作者: zaqmlp    时间: 2019-4-2 14:44

本帖最后由 zaqmlp 于 2019-4-2 19:15 编辑
  1. @echo off
  2. mode con lines=2000
  3. set info=互助互利,代码可用,支付宝扫码头像,感谢赞助
  4. rem 有问题,加QQ956535081及时沟通
  5. title %info%
  6. start mshta VBScript:Execute("msgbox(""%info%""):close")
  7. cd /d "%~dp0"
  8. powershell ^
  9.     dir . *.txt^|?{$_ -is [System.IO.FileInfo]}^|%%{^
  10.         $text=@(gc $_.FullName);^
  11.         $fname=$text[0].trim() -replace '[/:\""\t*?^|^<^>\\]','';^
  12.         $newname=$fname+$_.Extension;^
  13.         if((-not (test-path -liter ($newname))) -and ($fname -ne '')){^
  14.             write-host ($_.Name+' --^> '+$newname);^
  15.             move -liter $_.Name $newname -force;^
  16.         };^
  17.     }
  18. pause
复制代码

作者: cpc19960    时间: 2019-4-2 16:29

回复 2# zaqmlp


    如果可以用我会赞助的,请问这个是放在命令行跑吗,另外哪些参数需要我更改呢?
作者: zaqmlp    时间: 2019-4-2 18:01

回复 3# cpc19960
存为bat文件,跟你的txt放一起运行
作者: cpc19960    时间: 2019-4-2 18:30

回复 4# zaqmlp

我想把第一行的第2-6到字符提取出来做文件名
    好像你弄的程序里有的只提出来的四个字符,丢了一些。不知道怎么回事。
作者: zaqmlp    时间: 2019-4-2 18:40

回复 5# cpc19960

丢失的字符的文本打包上传发出来
作者: cpc19960    时间: 2019-4-2 18:41

回复 4# zaqmlp


    文字中的   T  提取不出来,丢失的都是T
作者: Feng2008    时间: 2019-4-8 23:23

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /r %%i in (*.txt) do (set /p a=<"%%i"
  4. ren "%%i" "!a:~1,5!.txt")
  5. pause
复制代码

作者: Batcher    时间: 2019-4-9 09:27

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  4.     set /p a=<"%%i"
  5.     ren "%%i" "!a:~1,5!.txt"
  6. )
复制代码

作者: sdyh    时间: 2024-4-2 09:58

学习了。。。。




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