【问题标题】:Renaming file names using a .BAT file or any other script使用 .BAT 文件或任何其他脚本重命名文件名
【发布时间】:2011-11-24 14:18:48
【问题描述】:

在 Windows 7 中编辑单个文件夹中的一组 PDF 文件的文件名。

我不想使用简单的工具或其他东西 - 我想找到一种简单的方法来对文件名集进行以下修改

  1. 将“_”替换为空格“”
  2. 用空格替换第三个字符

使用脚本或批处理文件等手动执行此操作的合适方法是什么。谢谢。

【问题讨论】:

  • 看起来像一个四行 Perl 脚本。
  • 请解释一下..我喜欢学习
  • set /? 会为您指明方向...

标签: batch-file filesystems filenames


【解决方案1】:
@echo off
setlocal EnableDelayedExpansion
for %%f in (*.pdf) do (
    set "oldname=%%~Nf"
    set "newname=!oldname:_= !"
    set "newname=!newname:~0,2! !newname:~3!"
    ren "!oldname!.pdf" "!newname!.pdf"
)

【讨论】:

  • 非常感谢 Aacini 似乎很简单明了的答案。会试试这个。
  • 我使用它创建了一个 .bat 并运行它 - 但没有用。文件名没有变化。我做对了吗?我没有以前的经验。
  • 请在ren 之前插入一个echo 命令,以便我们查看将执行的命令是什么,以便我们修复错误。
  • 操作!我发现了错误并在上面的示例中修复了它。请重新复制它。 :)
  • 我试过了,它说系统找不到指定的文件.......> 系统找不到指定的文件。 J:\test>( set "oldname=25_Tintin_and_the_Lake_of_Sharks" set "newname=_= " set "newname=~0,2newname:~3" echo on ren ".pdf" ".pdf" )
【解决方案2】:

我知道您提到您不想使用工具,但请尝试“批量重命名实用程序”。 这绝对值得。它是免费的,不仅可以替换字符,还可以处理填充。

【讨论】:

  • 感谢工具,我会检查一下 - 只是想学习如何在脚本中进行操作。
  • 这个工具真的很酷很简单——非常感谢克里斯。
猜你喜欢
  • 2014-06-07
  • 2012-06-20
  • 1970-01-01
  • 1970-01-01
  • 2021-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-23
相关资源
最近更新 更多