Board logo

标题: 【完成】50元求修改epub名字 [打印本页]

作者: lxh623    时间: 2024-10-4 14:14     标题: 【完成】50元求修改epub名字

本帖最后由 lxh623 于 2024-10-4 15:30 编辑

接着上一个修改epub。
文件名是:
四十二章经 - 後汉 迦叶摩腾共法兰译 第 1 卷 - AI 大藏经:文言文转白话文,无障碍阅读
分别功德论 - 失译附後汉录 第 1 卷 - AI 大藏经:文言文转白话文,无障碍阅读
分别功德论 - 失译附後汉录 第 002 卷 - AI 大藏经:文言文转白话文,无障碍阅读
分别功德论 - 失译附後汉录 第 003 卷 - AI 大藏经:文言文转白话文,无障碍阅读

文本a的内容:
T17n0784--四十二章经--後汉 迦叶摩腾共法兰译
T39n1794--注四十二章经--宋 真宗皇帝注
X37n0669--四十二章经注--宋 守遂注 明 了童补注
X37n0670--四十二章经解--明 智旭著
X37n0671--四十二章经疏钞--清 续法述

第一,尽量把文件名繁体转简体。这一步可以另外操作。
第二,文件名含有002、003及以上的,移动到新建文件夹。
第三,最开始到空格的字符,前后加上--,去搜索文本a,找到,就重新命名。
谢谢!
作者: flashercs    时间: 2024-10-4 14:59

保存为 重命名epub.bat,编码是ANSI.
  1. <#*,:
  2. @echo off
  3. cd /d "%~dp0"
  4. set "batchfile=%~f0"
  5. Powershell -ExecutionPolicy Bypass -C "Set-Location -LiteralPath ([Environment]::CurrentDirectory);. ([ScriptBlock]::Create([IO.File]::ReadAllText($env:batchfile,[Text.Encoding]::GetEncoding(0) )) )"
  6. pause
  7. exit /b
  8. #>
  9. #
  10. # a.txt内容放这里
  11. $a = @'
  12. T17n0784--四十二章经--後汉 迦叶摩腾共法兰译
  13. T39n1794--注四十二章经--宋 真宗皇帝注
  14. X37n0669--四十二章经注--宋 守遂注  明 了童补注
  15. X37n0670--四十二章经解--明 智旭著
  16. X37n0671--四十二章经疏钞--清 续法述
  17. '@
  18. $arr = $a.Trim() -split '[\r\n]+'
  19. Add-Type -AssemblyName Microsoft.VisualBasic
  20. # 繁体转简体
  21. Get-ChildItem -Path . | Where-Object { $_ -is [IO.FileInfo] -and $_.FullName -ne $env:batchfile -and $_.Name -ne 'a.txt' } | Rename-Item -NewName {
  22.   [Microsoft.VisualBasic.Strings]::StrConv($_.Name, [Microsoft.VisualBasic.VbStrConv]::SimplifiedChinese, 0)
  23. } -Verbose -ErrorAction SilentlyContinue
  24. # 文件名含有002、003及以上的,移动到新建文件夹
  25. $di = [IO.Directory]::CreateDirectory('新建文件夹')
  26. Get-ChildItem -Path . | Where-Object { $_ -is [IO.FileInfo] -and $_.FullName -ne $env:batchfile -and $_.Name -ne 'a.txt' -and $_.Name -match '\b\d{3}\b' } | Move-Item -Destination ($di.FullName) -Verbose
  27. # 最开始到空格的字符,前后加上--,去搜索文本a,找到,就重新命名
  28. Get-ChildItem -Path . | Where-Object { $_ -is [IO.FileInfo] -and $_.FullName -ne $env:batchfile -and $_.Name -ne 'a.txt' } | Rename-Item -NewName {
  29.   $k = ($_.BaseName -split '\s+')[0]
  30.   $newBaseName = $arr -match "--$([regex]::Escape(${k}))--" | Select-Object -First 1
  31.   if ($newBaseName) {
  32.     $newBaseName + $_.Extension
  33.   } else {
  34.     $_.Name
  35.   }
  36. } -Verbose -ErrorAction SilentlyContinue
复制代码

作者: lxh623    时间: 2024-10-4 15:30

请查收。谢谢!
节日快乐!




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