标题: [文件操作] ren命令文件更名为何出错? [打印本页]
作者: 黑雪飘飘 时间: 2010-8-29 12:30 标题: ren命令文件更名为何出错?
为什么会出现第一个不能更名,是不是和有两个X有关,请指点
作者: cjiabing 时间: 2010-8-29 12:52
你单独试下 “ ren 610222X.dbf 银行x.dbf ”看看有没有问题,注意检查文件的属性是否允许,试试在文件名外增加双引号,或者直接拷贝到C:\下测试。
还有就是,你那个单词的REN是否支持了遍历?
作者: slore 时间: 2010-8-29 14:31
三个x的都生成了,少的是m的?但是遗留文件是x的?
……确定对应了么?
作者: Seter 时间: 2010-8-29 16:02
ren语法中,如aaa.*这样,此时.*支持无后缀,即aaa.*=aaa;*x.*=*x,而*x又可以匹配6X.shx,因为shx的最后是x
作者: Seter 时间: 2010-8-29 16:04 标题: 回复 3楼 的帖子
3L,对应了,ren *d.*无误,ren *x.*把银行d和6m也更了名,而前者没有影响
作者: 黑雪飘飘 时间: 2010-8-29 16:54
文件没问题
作者: 黑雪飘飘 时间: 2010-8-29 16:59 标题: 回复 4楼 的帖子
如何解决,我把三个顺序调整后又能正确,但我不敢确定文件是否有问题,我想这个顺序没关系
作者: 黑雪飘飘 时间: 2010-8-29 17:05 标题: 回复 4楼 的帖子
只要把ren *x.* aax.*不放在开始就能正确,郁闷!
作者: BAT1 时间: 2010-8-29 21:48
其实一点也不郁闷,刚开始我也被搞晕了 .
但是后来发现 *X.* 包括了哪几个文件,就知道问题出在哪里了。
*d.* 包含 610222d.dbf 610222d.shp 610222d.shx
*m.* 包含 610222m.dbf 610222m.shp 610222m.shx
*x.* 包含 610222d.shx 610222m.shx 610222x.bdf 610222x.shp 610222x.shx
作者: 黑雪飘飘 时间: 2010-8-30 09:23 标题: 回复 9楼 的帖子
如何解决这人问题,指点
作者: zz100001 时间: 2010-8-30 10:03
问号不也是通配符嘛!
作者: 黑雪飘飘 时间: 2010-8-30 16:05 标题: 回复 11楼 的帖子
不行呀!如何解决呀!
作者: BAT1 时间: 2010-8-31 00:47
同要修改文件名的文件保存于同一目录下,文件名为“银行X.bat”,运行即可- @echo off
- setlocal enabledelayedexpansion
- for /f %%i in ('dir /b') do (
- set a=%%i
- ren !a! 银行!a:~-5!
- )
- exit
复制代码
测试脚本- @echo off
- echo.>610222x.dbf
- echo.>610222x.shp
- echo.>610222x.shx
- echo.>610222d.dbf
- echo.>610222d.shp
- echo.>610222d.shx
- echo.>610222m.dbf
- echo.>610222m.shp
- echo.>610222m.shx
- echo 建立试验文件!!!
- pause>nul
- :b
- setlocal enabledelayedexpansion
- for /f %%i in ('dir /b') do (
- set a=%%i
- ren !a! 银行!a:~-5!
- )
- cls
- echo 文件名修改完毕^^!^^!^^!
- pause>nul
- exit
复制代码
[ 本帖最后由 BAT1 于 2010-8-31 01:21 编辑 ]
作者: 黑雪飘飘 时间: 2010-9-5 21:32 标题: 回复 13楼 的帖子
谢谢,非常感谢!高手高手高高手
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |