繁体   English   中英

使用批处理脚本重命名所有文件夹名称

[英]Renaming all folder name using batch script

如何使用批处理脚本重命名文件夹名称? 我需要重命名文件名,例如:

a Filename1
b filename2 
to
A
B

即,使其大写,并且仅将字符串作为初始部分。 到目前为止,我想出了:

@echo "Renaming file"
for /D %%f in (C:\REN\*) do rename "%%f" "%%~nxf_myname"
pause

我假设您实际上要重命名在C:\\ REN \\中找到的文件夹,而不是文件。

我还假设“初始部分”是指直到第一个空格字符。 如果正确,那么您要使用FOR / F将名称解析为标记。

SET搜索和替换功能对于搜索部分不区分大小写。

我正在为原始名称和新名称创建变量,并且为了防止文件夹名称包含!切换开和关延迟延迟! 字符。 对于变量,如果值包含! 并启用了延迟扩展。

@echo off
setlocal disableDelayedExpansion
echo Renaming folders
for /d %%F in (C:\REN\*) do (
  for /f "eol= " %%A in ("%%~nxF") do (
    set "name=%%F"
    set "newName=%%A"
    setlocal enableDelayedExpansion
    for %%C in (
        A B C D E F G H I J K L M
        N O P Q R S T U V W X Y Z
    ) do set "newName=!newName:%%C=%%C!"
    ren "!name!" "!newName!"
    endlocal
  )
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM