批。批量重命名文件夹和所有子文件夹中的文件

阿尔宝

我尝试通过在Win7下使用批处理脚本从每个文件名中删除“ -min”部分来重命名文件夹和子文件夹中的所有文件

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
CD F:\Mega.Pack-128x128\textures\
FOR /R %%A in (.*)-min.png DO REN "%%A-min.png" "%%A.png"

我猜想这里的SET参数似乎有问题,所以我尝试这样做:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
CD F:\Mega.Pack-128x128\textures\
For /R %%G in (*-min.png) DO (
    SET "oldname=%%G"
    SET "newname=!oldname:~0,-8!.png"
    REN "!oldname!" "!newname!"
)

但我得到的只是错误。当我从循环中回显最后一条指令时,它会给我正确的路径。我想念什么?

德本纳姆

重命名文件时,不能在目标名称中包含文件夹路径。您可以使用%%~nxG获取不带路径的文件名和扩展名。您不需要oldname变量-您可以简单地使用%%G您可以消除一行并直接在REN语句中进行字符串操作。

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
CD F:\Mega.Pack-128x128\textures\
For /R %%G in (*-min.png) DO (
    SET "newname=%%~nxG"
    REN "%%G" "!newname:~0,-8!.png"
)

请注意,如果文件路径的任何部分包含该!字符,则上述操作将失败,因为FOR变量扩展发生在延迟扩展之前,因此它将破坏该值。!通过确保在展开FOR变量时禁用了延迟扩展,可以保留任何内容这就需要在循环内切换延迟扩展的开和关。

@echo off
setlocal disableDelayedExpansion
cd F:\Mega.Pack-128x128\textures\
for /r %%G in (*-min.png) do (
  set "oldpath=%%G"
  set "newname=%%~nxG"
  setlocal enableDelayedExpansion
  ren "!oldpath!" "!newname:~0,-8!.png"
  endlocal
)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python脚本递归重命名文件夹和子文件夹中的所有文件

来自分类Dev

重命名文件夹中的所有文件

来自分类Dev

重命名Bash文件夹中的所有文件

来自分类Dev

在文件夹,子文件夹和多个文件中递归查找和重命名

来自分类Dev

使用 PowerShell 重命名目录和子文件夹中具有给定名称的批量文件

来自分类Dev

遍历文件夹并使用文件夹名称顺序重命名每个文件夹中的所有文件

来自分类Dev

批量重命名文件夹中的文件

来自分类Dev

批量重命名文件夹中的文件

来自分类Dev

批量重命名文件夹中的文件

来自分类Dev

批量重命名文件夹

来自分类Dev

Powershell文件和子文件夹文件重命名

来自分类Dev

重命名目录中的所有文件夹

来自分类Dev

递归地重命名所有子文件夹中的文件

来自分类Dev

使用 PowerShell 重命名给定目录和子文件夹中没有扩展名的所有文件

来自分类Dev

批量重命名文件夹名称中的特定文本

来自分类Dev

在 Git 中重命名文件夹。所有分支和所有修订

来自分类Dev

递归清除其中没有文件的文件夹中的所有文件夹和子文件夹

来自分类Dev

重命名文件夹中的文件

来自分类Dev

重命名文件夹中的文件

来自分类Dev

读取文件夹和子文件夹中的所有文件-进度和大小

来自分类Dev

重命名不同子文件夹中的文件

来自分类Dev

从父文件夹和所有子文件夹中删除特定的命名目录

来自分类Dev

删除文件夹和子文件夹中的所有隐藏文件

来自分类Dev

遍历文件夹和子文件夹中的所有文件并获取创建日期

来自分类Dev

Gitignore用于文件夹和子文件夹中的所有文件

来自分类Dev

Windows CMD-如何将所有子文件夹中的所有文件重命名为父文件夹名称

来自分类Dev

如何批量重命名具有连续编号的照片文件夹中的文件

来自分类Dev

使用子文件夹标签重命名子文件夹中的文件

来自分类Dev

使用列表重命名文件夹和子文件夹中的文件-Bash Script / Unix

Related 相关文章

  1. 1

    Python脚本递归重命名文件夹和子文件夹中的所有文件

  2. 2

    重命名文件夹中的所有文件

  3. 3

    重命名Bash文件夹中的所有文件

  4. 4

    在文件夹,子文件夹和多个文件中递归查找和重命名

  5. 5

    使用 PowerShell 重命名目录和子文件夹中具有给定名称的批量文件

  6. 6

    遍历文件夹并使用文件夹名称顺序重命名每个文件夹中的所有文件

  7. 7

    批量重命名文件夹中的文件

  8. 8

    批量重命名文件夹中的文件

  9. 9

    批量重命名文件夹中的文件

  10. 10

    批量重命名文件夹

  11. 11

    Powershell文件和子文件夹文件重命名

  12. 12

    重命名目录中的所有文件夹

  13. 13

    递归地重命名所有子文件夹中的文件

  14. 14

    使用 PowerShell 重命名给定目录和子文件夹中没有扩展名的所有文件

  15. 15

    批量重命名文件夹名称中的特定文本

  16. 16

    在 Git 中重命名文件夹。所有分支和所有修订

  17. 17

    递归清除其中没有文件的文件夹中的所有文件夹和子文件夹

  18. 18

    重命名文件夹中的文件

  19. 19

    重命名文件夹中的文件

  20. 20

    读取文件夹和子文件夹中的所有文件-进度和大小

  21. 21

    重命名不同子文件夹中的文件

  22. 22

    从父文件夹和所有子文件夹中删除特定的命名目录

  23. 23

    删除文件夹和子文件夹中的所有隐藏文件

  24. 24

    遍历文件夹和子文件夹中的所有文件并获取创建日期

  25. 25

    Gitignore用于文件夹和子文件夹中的所有文件

  26. 26

    Windows CMD-如何将所有子文件夹中的所有文件重命名为父文件夹名称

  27. 27

    如何批量重命名具有连续编号的照片文件夹中的文件

  28. 28

    使用子文件夹标签重命名子文件夹中的文件

  29. 29

    使用列表重命名文件夹和子文件夹中的文件-Bash Script / Unix

热门标签

归档