如何使用不同的名称从CMD提示符重命名多个目录,如下所示:
alnaddy.com-7-5-2014 - > alnaddy.com
cairoscene.org-7-5-2014 - > cairoscene.org
elshaab.org-7-5-2014 - > elshaab.org
goal.com-7-5-2014 - > goal.com
我有一个包含数千个目录的列表。 感谢
答案 0 :(得分:0)
我同意Stephan认为这可能是不安全和/或无法解决的,因为两个文件夹只能在日期后缀上有所不同。
但如果我确信不会发生冲突,那么我会使用我的JREN.BAT regex renaming utility - 纯脚本(混合JScript /批处理),它可以在XP以后的任何Windows机器上本机运行。
假设所有文件夹都在单个父文件夹中,那么我将从父文件夹中执行以下操作。
jren "-\d\d?-\d\d?-\d{4}" "" /d
如果我想处理整个文件夹树,那么我会添加/ S选项。
答案 1 :(得分:0)
从命令提示符:
for /F "tokens=1* delims=-" %a in ('dir /AD /B') do ren "%a-%b" "%a"
如果删除日期后可能是重复的名称,则需要批处理文件来管理重复项:
@echo off
setlocal EnableDelayedExpansion
rem Define the maximum number of duplicate names (keep it low)
set "maxDups=4"
for /F "tokens=1* delims=-" %%a in ('dir /AD /B') do (
set "newName=%%a"
if exist "%%a" (
for /L %%i in (%maxDups%,-1,1) do (
if not exist "%%a (%%i)" set "newName=%%a (%%i)"
)
)
ren "%%a-%%b" "!newName!"
)