标题: 请教批量修改长文件夹名称,急!
[打印本页]
作者: andeena
时间: 2009-9-3 23:12
标题: 请教批量修改长文件夹名称,急!
请教各位大侠,批量修改长文件夹名称(截取前几位,后面的删除),每个文件夹的名称长度不同,文件夹里面有内容(文件和文件夹),要保持不变。每年都有几百个这样的文件夹啊, 先谢谢啦!
例如文件夹名“(鲁)证书200802600012京东区张三” 改为 “(鲁)证书200802600012”
“(鲁)证书200802600015沙河区李加顺” 改为 “(鲁)证书200802600015”
[
Last edited by andeena on 2009-9-3 at 23:18 ]
作者: loquat
时间: 2009-9-4 00:10
不知道好不好改,for懂一点,但是不知道怎么区分数字和中文。。。
中间又没有分隔符什么的。。。
作者: andeena
时间: 2009-9-4 00:23
名称前几位是固定的长度,都是证书号(有文字也有数字),后面的名称不固定长度
作者: keen
时间: 2009-9-4 00:49
@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
作者: tireless
时间: 2009-9-4 00:57
@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
作者: andeena
时间: 2009-9-4 04:54
非常感谢楼上的 tireless ,真是高手,成功啦。谢谢,真是帮了我的大忙。
作者: andeena
时间: 2009-9-4 04:58
也谢谢其他几位热心的同学,又学习了