![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 16:12 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助(改名) |
| 可打印版本 758 / 8 |
| 第1楼 zg888 | 发表于 2007-03-08 12:45 |
| 初级用户 发帖 17 积分 37 | |
|
求助(改名) 有这样一些文件:A001~A200
要把A001~A070改成A01~A70 A071~A150改成B01~B80 请大虾帮忙写个批处理!!! |
|
| 第2楼 test266 | 发表于 2007-03-08 22:50 |
| 初级用户 发帖 10 积分 22 | |
|
试试 @echo off
setlocal ENABLEDELAYEDEXPANSION for /L %%i in (1,1,70) do ( set str=00%%i set str1=!str:~-3! set str2=!str:~-2! echo ren A!str1! A!str2! ) set /a num=1 for /L %%i in (71,1,150) do ( set str=00%%i set str1=!str:~-3! set str2=00!num! set str2=!str2:~-2! set /a num += 1 echo ren A!str1! B!str2! ) |
|
| 第3楼 zg888 | 发表于 2007-03-12 06:23 |
| 初级用户 发帖 17 积分 37 | |
|
test266 谢谢大吓帮忙,俺试了下,在运行时是显示的改了名字,但是,文件却还是老样子,没有改名字。是哪里的问题???
|
|
| 第4楼 zh159 | 发表于 2007-03-12 06:27 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
echo ren A!str1! A!str2!
echo ren A!str1! B!str2! to ren A!str1! A!str2! ren A!str1! B!str2! |
|
| 第5楼 zg888 | 发表于 2007-03-12 06:47 |
| 初级用户 发帖 17 积分 37 | |
|
可以了 去掉ECHO就可以改了,谢谢!!
|
|
| 第6楼 zg888 | 发表于 2007-03-12 06:51 |
| 初级用户 发帖 17 积分 37 | |
|
能解释下吗 set str1=!str:~-3!
set str2=00!num! set str2=!str2:~-2! set /a num += 1 能说说=号后是什么意思吗?? |
|
| 第7楼 test266 | 发表于 2007-03-12 07:02 |
| 初级用户 发帖 10 积分 22 | |
|
set str1=!str:~-3! 取str字符串的最后3个字符
set str2=00!num! 在数字前加两个0,也就是1变成001,99变成0099 set str2=!str2:~-2! 然后再取最后两个字符,则001变成01,0099变成99 |
|
| 第8楼 zg888 | 发表于 2007-03-12 07:24 |
| 初级用户 发帖 17 积分 37 | |
|
谢谢 如果文件是带扩展名的,是不是把
set str1=!str:~-3! 改成 set str1=!str:~-6!就可以呢? |
|
| 第9楼 test266 | 发表于 2007-03-12 08:03 |
| 初级用户 发帖 10 积分 22 | |
|
直接加在这行上,以.txt为例
ren A!str1!.txt A!str2!.txt ren A!str1!.txt B!str2!.txt |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |