使用批处理用感叹号和与号替换文件名中的字符串

深江

我正在尝试使用批处理脚本替换文件名中的字符串,但如果文件有感叹号或与号,则会遇到问题。

Setlocal enabledelayedexpansion
Set "Pattern=[String_A]"
Set "Replace=[B_String]"
For %%a in (*.*) Do (
    Set "File=%%~a"
    Ren "%%a" "!File:%Pattern%=%Replace%!"
)

上面的代码适用于没有这些文件名的文件名,但我需要其他帮助。

这是我必须多次运行的东西(它是更大脚本的一部分)。

任何帮助表示赞赏。

杰布

问题是set "file=%%~a只有在禁用延迟扩展的情况下,扩展才会安全。
解决方案是切换延迟扩展模式。

Setlocal DisableDelayedExpansion
Set "Pattern=[String_A]"
Set "Replace=[B_String]"
For %%a in (*.*) Do (
    Set "File=%%~a"
    Setlocal EnableDelayedExpansion
    Ren "!file!" "!File:%Pattern%=%Replace%!"
    endlocal
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

批处理:用循环替换文件和文件名中的字符串

来自分类Dev

Windows批处理脚本,并使用“!”处理文件名 For循环中的感叹号

来自分类Dev

批处理文件以替换文件名和扩展名中的字符串

来自分类Dev

Windows批处理带有感叹号“!”的循环文件名 问题

来自分类Dev

批处理 - 如何在作为参数传递给子程序的字符串中回显感叹号?

来自分类Dev

批处理文件中的感叹号与EnableDelayedExpansion冲突

来自分类Dev

Windows批处理文件语法使用感叹号

来自分类Dev

从批处理脚本中的文件名中提取和替换字符串

来自分类Dev

mutt可以处理感叹号而不是文件名中的冒号吗?

来自分类Dev

在Java字符串中匹配感叹号

来自分类Dev

转义触摸字符串中的感叹号

来自分类Dev

如何使用批处理文件以递归方式替换文件中的字符串?

来自分类Dev

在替换字符串中需要转义感叹号,而在搜索字符串中则不需要转义感叹号(子字符串替换,延迟扩展处于打开状态)?

来自分类Dev

批处理文件重命名脚本交换文件名中的子字符串?

来自分类Dev

在替换字符串中而不是搜索字符串中需要转义感叹号(子字符串替换,延迟扩展处于打开状态)?

来自分类Dev

删除以双与号和感叹号开头的文件

来自分类Dev

用子目录和当前目录中的字符串替换文件名的一部分

来自分类Dev

使用 Windows 批处理文件删除/替换文本文件字符串

来自分类Dev

带有感叹号的字符串的回声

来自分类Dev

用powershell中的字符串文字和文件名替换文本文件中的字符串

来自分类Dev

在Unix中替换文件名中的字符串

来自分类Dev

如何替换文件名中的子字符串?

来自分类Dev

使用批处理文件将文件名和文件中的特定字符串传递到for循环中

来自分类Dev

如何在启用延迟扩展的情况下在dos批处理中列出名称包含感叹号的文件?

来自分类Dev

如何在启用延迟扩展的情况下在dos批处理中列出名称包含感叹号的文件?

来自分类Dev

Windows批处理文件-在变量值中使用感叹号而不禁用延迟扩展

来自分类Dev

批处理剂量:设置带有感叹号的变量感叹号

来自分类Dev

根据文件名批处理中的日期字符串移动文件

来自分类Dev

使用批处理文件从字符串(文件名)中提取特定部分

Related 相关文章

  1. 1

    批处理:用循环替换文件和文件名中的字符串

  2. 2

    Windows批处理脚本,并使用“!”处理文件名 For循环中的感叹号

  3. 3

    批处理文件以替换文件名和扩展名中的字符串

  4. 4

    Windows批处理带有感叹号“!”的循环文件名 问题

  5. 5

    批处理 - 如何在作为参数传递给子程序的字符串中回显感叹号?

  6. 6

    批处理文件中的感叹号与EnableDelayedExpansion冲突

  7. 7

    Windows批处理文件语法使用感叹号

  8. 8

    从批处理脚本中的文件名中提取和替换字符串

  9. 9

    mutt可以处理感叹号而不是文件名中的冒号吗?

  10. 10

    在Java字符串中匹配感叹号

  11. 11

    转义触摸字符串中的感叹号

  12. 12

    如何使用批处理文件以递归方式替换文件中的字符串?

  13. 13

    在替换字符串中需要转义感叹号,而在搜索字符串中则不需要转义感叹号(子字符串替换,延迟扩展处于打开状态)?

  14. 14

    批处理文件重命名脚本交换文件名中的子字符串?

  15. 15

    在替换字符串中而不是搜索字符串中需要转义感叹号(子字符串替换,延迟扩展处于打开状态)?

  16. 16

    删除以双与号和感叹号开头的文件

  17. 17

    用子目录和当前目录中的字符串替换文件名的一部分

  18. 18

    使用 Windows 批处理文件删除/替换文本文件字符串

  19. 19

    带有感叹号的字符串的回声

  20. 20

    用powershell中的字符串文字和文件名替换文本文件中的字符串

  21. 21

    在Unix中替换文件名中的字符串

  22. 22

    如何替换文件名中的子字符串?

  23. 23

    使用批处理文件将文件名和文件中的特定字符串传递到for循环中

  24. 24

    如何在启用延迟扩展的情况下在dos批处理中列出名称包含感叹号的文件?

  25. 25

    如何在启用延迟扩展的情况下在dos批处理中列出名称包含感叹号的文件?

  26. 26

    Windows批处理文件-在变量值中使用感叹号而不禁用延迟扩展

  27. 27

    批处理剂量:设置带有感叹号的变量感叹号

  28. 28

    根据文件名批处理中的日期字符串移动文件

  29. 29

    使用批处理文件从字符串(文件名)中提取特定部分

热门标签

归档