找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24158|回复: 4

[文件操作] [已解决]求助批处理调用DAT文件来批量更名的问题

[复制链接]
发表于 2019-1-23 16:52:19 | 显示全部楼层 |阅读模式
下载的有声书,下载下来的原文件为红色框内纯数字名字且不带后缀(正确后缀应该为m4a)现在需要调用DAT里的数据将文件夹内文件名字改成绿色框内的中文名,
自己写写改改的折腾了一天也没成功,请各位大神帮忙~附件是DAT文件,谢谢!

PS:简单的说就是图1的文件调用download.dat文件将图1的名字改成图2绿色框内名字~

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2019-1-23 18:40:27 | 显示全部楼层
本帖最后由 yhcfsr 于 2019-1-23 19:32 编辑
  1. <# :
  2. @echo off&cd/d "%~dp0"
  3. more +8 "%~0">"%~dpn0.ps1"
  4. powershell -Nologo -NoProfile -Exec bypass -file "%~dpn0.ps1"
  5. del /f /q "%~dpn0.ps1"
  6. pause&exit
  7. #>

  8. $content=type 'download.dat' -ReadCount 0 -encoding UTF8;
  9. [system.collections.arraylist] $result=@();
  10. $ErrorActionPreference='SilentlyContinue';
  11. foreach($line in $content)
  12. {
  13.         if($line -match '^\s*$'){continue;}
  14.         $line=$line -split '@';
  15.         $oldname=$line[1];
  16.         $newname=$line[6]+'.m4a';
  17.         if(test-path $oldname){ren $oldname $newname;}
  18. }
复制代码

评分

参与人数 1技术 +1 收起 理由
yifei0320 + 1 谢谢

查看全部评分

 楼主| 发表于 2019-1-23 19:29:33 | 显示全部楼层
回复 2# yhcfsr


我非常感谢你的热心帮助,解决了我的大问题,改名成功~谢谢
发表于 2019-1-23 20:24:47 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=2,7 delims=@" %%a in ('powershell -c "gc download.dat"') do (
  3.     if exist "%%a" (
  4.         ren "%%a" "%%b.m4a"
  5.     )
  6. )
复制代码

评分

参与人数 1技术 +1 收起 理由
yifei0320 + 1 这个代码也可以,感谢大神~~

查看全部评分

 楼主| 发表于 2019-1-23 21:10:58 | 显示全部楼层
回复 4# Batcher


    因为都是中文名,TXT直接编辑改出来乱码,用Notepad++改编码另存后就好了,感谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:18 , Processed in 0.031762 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表