如何用Command Prompt批量重命名子文件夹内的学生作业文件
批量重命名学生作业文件解决方案
CMD命令方案(适用于Windows命令提示符)
直接在CMD窗口执行以下命令:
For /D %D in ("G:\RR1_renaming\*") do ( For %F in ("%D\*") do ( ren "%F" "%~nD%~xF" ) )
如果是写入批处理(.bat)文件,需将变量前的%改为%%:
@echo off For /D %%D in ("G:\RR1_renaming\*") do ( For %%F in ("%%D\*") do ( ren "%%F" "%%~nD%%~xF" ) )
命令说明:
For /D %D:遍历父文件夹下所有以学生ID命名的子文件夹- 内层
For %F:获取每个子文件夹内的作业文件 %~nD:提取子文件夹名称(即学生ID),%~xF:保留原文件的后缀名(.docx/.pdf)
PowerShell方案(更直观易读)
打开PowerShell执行以下命令:
Get-ChildItem -Path "G:\RR1_renaming" -Directory | ForEach-Object { $file = Get-ChildItem -Path $_.FullName -File if ($file) { Rename-Item -Path $file.FullName -NewName "$($_.Name)$($file.Extension)" } }
命令说明:
- 获取父文件夹下所有子文件夹并逐个处理
- 定位每个子文件夹内的作业文件,将其重命名为子文件夹名称+原后缀
安全提示
- 执行重命名前,建议先将CMD命令中的
ren替换为echo ren,或把PowerShell中的Rename-Item替换为Write-Host "将 $($file.FullName) 重命名为 $($_.Name)$($file.Extension)",先预览重命名效果,确认无误后再执行实际操作 - 确保每个子文件夹内仅有一份作业文件,避免批量操作出错
内容的提问来源于stack exchange,提问作者Jesse
相关产品推荐
相关产品推荐

