1

我正在尝试编写一个 bat 文件来遍历目录结构并从文件夹名称中删除后缀“ - Optimized Images”,例如“folder_name - Optimized Images”

我找到了一个类似于文件名的解决方案,但我显然没有正确编辑它?:

@ECHO OFF
FOR %%F IN ("* - Optimised Images") DO CALL :process "%%F"

:process
SET oldname=%1
SET "newname=%~nx1"
SET "newname=%newname:*] =%"
REN %oldname% "%newname%"

任何帮助表示赞赏!

谢谢

4

2 回答 2

3
    for /d %%a in (* - Optimised Images) do (
    SET name=%%a
    call :Rename "%%~na"
    )

    Exit /b

    :Rename
    set "str1=%~1"
    set "str3=%str1: - Optimised Images=%"
    ren "%name%" "%str3%"
    )

    Exit /b
于 2013-01-28T16:11:25.703 回答
1

这将从文件夹中删除它

setlocal enabledelayedexpansion
for /d %%a in (C:\folders\* - Optimised Images) do (
set name=%%~nxa
set newname=!name: - Optimised Images=!
ren "%%a" "!newname!"
)
于 2013-01-28T14:13:27.073 回答