使用Windows批处理更改文件夹名称

使用Windows批处理更改文件夹名称,windows,batch-file,Windows,Batch File,我有数百个文件夹的名称格式为ddmmyyyy,例如211221011。但我想将它们更改为格式yyyy-mm-dd,如何操作?假设当前目录中的所有文件夹都有一个名称,按照您指定的ddmmyyyy 然后将这些文件夹重命名为yyyy-mm-dd @echo off setlocal enableDelayedExpansion for /d %%F in (*) do ( set "folder=%%F" ren !folder! "!folder:~-4!-!folder:~2,2!-!fo

我有数百个文件夹的名称格式为
ddmmyyyy
,例如211221011。但我想将它们更改为格式
yyyy-mm-dd
,如何操作?

假设当前目录中的所有文件夹都有一个名称,按照您指定的ddmmyyyy

然后将这些文件夹重命名为yyyy-mm-dd

@echo off
setlocal enableDelayedExpansion
for /d %%F in (*) do (
  set "folder=%%F"
  ren !folder! "!folder:~-4!-!folder:~2,2!-!folder:~0,2!"
)

它在变量展开中使用简单的子字符串操作。必须使用延迟扩展,因为变量扩展是在块(括号内)内进行的。

您愿意使用PowerShell吗?