楼 主
请教批量修改长文件夹名称,急!
发表于 2009-09-03 23:12 · 中国 浙江 宁波 鄞州区 电信
新手上路
★
积分 4 发帖 4 注册 2009-09-03 05:54 16年会员 UID 151403 性别 女
状态 离线
请教各位大侠,批量修改长文件夹名称(截取前几位,后面的删除),每个文件夹的名称长度不同,文件夹里面有内容(文件和文件夹),要保持不变。每年都有几百个这样的文件夹啊, 先谢谢啦!
例如文件夹名“(鲁)证书200802600012京东区张三” 改为 “(鲁)证书200802600012”
“(鲁)证书200802600015沙河区李加顺” 改为 “(鲁)证书200802600015”
[ Last edited by andeena on 2009-9-3 at 23:18 ]
第 2 楼
发表于 2009-09-04 00:10 · 中国 湖南 长沙 电信
初级用户
★★
积分 81 发帖 80 注册 2009-08-30 06:32 16年会员 UID 151201 性别 男
状态 离线
不知道好不好改,for懂一点,但是不知道怎么区分数字和中文。。。
中间又没有分隔符什么的。。。
第 3 楼
发表于 2009-09-04 00:23 · 中国 浙江 宁波 鄞州区 电信
新手上路
★
积分 4 发帖 4 注册 2009-09-03 05:54 16年会员 UID 151403 性别 女
状态 离线
名称前几位是固定的长度,都是证书号(有文字也有数字),后面的名称不固定长度
第 4 楼
发表于 2009-09-04 00:49 · 中国 陕西 安康 电信
初级用户
★
积分 58 发帖 29 注册 2008-08-15 19:21 17年会员 UID 123291 性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /b /ad') do (
set str=%%i
for /f "tokens=2 delims=0123456789" %%a in ("%%i") do (
set str=!str:%%a=!
echo ren "%%i" "!str!"
)
)
pause
第 5 楼
发表于 2009-09-04 00:57 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@echo off
echo 将重命名 "%cd%\" 下的文件夹名称,新名称为旧名称的前 17 位
set choice=
:input
set /p choice=是否继续(Y/N)?
if /i "%choice%" equ "n" exit /b
if /i "%choice%" neq "y" goto input
for /f "delims=" %%a in ('dir /a:d /b') do (
set var=%%a
setlocal enabledelayedexpansion
ren "!var!" "!var:~,17!"
endlocal
)
echo 重命名完成。请按任意键退出...
pause>nul
第 6 楼
发表于 2009-09-04 04:54 · 中国 浙江 宁波 鄞州区 电信
新手上路
★
积分 4 发帖 4 注册 2009-09-03 05:54 16年会员 UID 151403 性别 女
状态 离线
非常感谢楼上的 tireless ,真是高手,成功啦。谢谢,真是帮了我的大忙。
第 7 楼
发表于 2009-09-04 04:58 · 中国 浙江 宁波 鄞州区 电信
新手上路
★
积分 4 发帖 4 注册 2009-09-03 05:54 16年会员 UID 151403 性别 女
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正