【问题标题】:Using windows batch file to replace "." with underscores - without changing the file extension使用windows批处理文件替换“.”带下划线 - 不更改文件扩展名
【发布时间】:2015-09-02 18:37:00
【问题描述】:

我正在寻找使用

ren

windows批处理文件中的函数用下划线替换某些字符。我要替换的字符之一是句点 - 但我需要在不更改文件扩展名的情况下执行此操作。有谁知道如何在不通过 Windows 批处理编辑文件扩展名的情况下描述一个字符应该在文件名中更改?

当我尝试过时,它会替换“。”在文件扩展名之前,使文件无用。

【问题讨论】:

  • ren *.*.* *_*.*,也许吧?
  • 欢迎来到 Stack Overflow!这个问题的信息有点少。能分享一下你尝试过的,遇到了什么问题吗?

标签: windows batch-file


【解决方案1】:

这是一个用于命令提示符的单行代码:

cmd /Q /V:ON /C "for %A in ("D:\path\to\files.to.rename.ext") do (set "NAME=%~nA" & echo ren "%~fA" "!NAME:.=_!%~xA")"

"D:\path\to\files.to.rename.ext" 替换为您要重命名的文件的(路径),将每个项目包含在"" 中(以避免出现空格等问题)。您也可以使用通配符*?

注意:上面的代码只显示了它重命名的每个文件;要真正重命名,只需删除echo 命令。

【讨论】:

    猜你喜欢
    • 2013-01-01
    • 2016-05-27
    • 1970-01-01
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 2014-08-13
    • 1970-01-01
    相关资源
    最近更新 更多