|
martin325
银牌会员
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『楼 主』:
[已结]如何判断已有的文件夹名并自动按顺序重命名?
如题。
举例:在纯DOS下,D盘上已存在F0、F1、F2、F3四个文件夹,现在要自动判断,如果存在F1、F2、F3文件夹,就自动把F0重命名为F4;
如果D盘上已存在F1、F2、F3、F4四个文件夹,再自动判断,并自动把F0重命名为F5,等等。
这样的批处理应该怎么写?
最好避免使用第三方工具,DOS环境:MS-DOS v7.1
请高手指点!
先谢谢了:)
[ Last edited by willsort on 2006-4-10 at 12:30 ]
|
|
2006-4-8 13:29 |
|
|
martin325
银牌会员
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第
2 楼』:
为什么
if exist D:\F3 ren D:\F3 F4
无效
显示无语法错误
但是F3没有被重命名为F4
在D盘下,输入
if exist D:\F3 ren F3 F4
也是一样!
这是什么缘故?
请教……
|
|
2006-4-8 16:00 |
|
|
martin325
银牌会员
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第
3 楼』:
但是如果输入:
@echo off
D:
ren F3 F4
可以把F3重命名为F4的
这个是在纯DOS下试的
为什么加了“if exist”语句就不行了呢?而且DOS也未显示语法错误的提示。
|
|
2006-4-8 16:05 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
|
2006-4-8 17:01 |
|
|
martin325
银牌会员
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第
5 楼』:
谢谢willsort:)
请教goto loop1的loop1的标签在哪儿?
刚才测试,当只有文件夹F0存在时,可以把F0重命名为F1;
当F1、F2存在时,显示错误提示:Label not found.
|
|
2006-4-8 17:22 |
|
|
martin325
银牌会员
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第
6 楼』:
如果文件夹F0、F1……F9是隐藏属性的,不知行不行?
本人先去试试……
|
|
2006-4-8 17:26 |
|
|
martin325
银牌会员
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第
7 楼』:
成功了!
高手不愧是高手!
佩服中……
|
|
2006-4-8 18:08 |
|
|
martin325
银牌会员
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第
8 楼』:
为什么在批处理调用上面的一段代码就不行了呢?
单独运行是正常的!
是不是需要先清空变量,如何设置?
请指教!
|
|
2006-4-9 08:13 |
|
|
martin325
银牌会员
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第
9 楼』:
找到原因了:
把上面willsort提供的批处理命名为ren.bat或者rename.bat时,由于ren、rename本身是DOS的内部命令,故这样命名的批处理当作单条的ren命令来执行了。
呵呵……
|
|
2006-4-9 10:36 |
|
|
martin325
银牌会员
积分 1582
发帖 603
注册 2006-2-20
状态 离线
|
『第
10 楼』:
不知道这样的理解对不对?
自己也搞糊涂了。
|
|
2006-4-9 11:55 |
|
|
MIN
初级用户
积分 58
发帖 17
注册 2006-3-22
状态 离线
|
『第
11 楼』:
那么难懂的,
if not "%1"==":" %0 : F0 F1 F2 F3 F4 F5 F6 F7 F8 F9
这句该如何理解?
|
|
2006-4-9 13:59 |
|