Board logo

标题: [文件操作] 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”,运行即可
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%i in ('dir /b') do (
  4. set a=%%i
  5. ren !a! 银行!a:~-5!
  6. )
  7. exit
复制代码
测试脚本
  1. @echo off
  2. echo.>610222x.dbf
  3. echo.>610222x.shp
  4. echo.>610222x.shx
  5. echo.>610222d.dbf
  6. echo.>610222d.shp
  7. echo.>610222d.shx
  8. echo.>610222m.dbf
  9. echo.>610222m.shp
  10. echo.>610222m.shx
  11. echo 建立试验文件!!!
  12. pause>nul
  13. :b
  14. setlocal enabledelayedexpansion
  15. for /f %%i in ('dir /b') do (
  16. set a=%%i
  17. ren !a! 银行!a:~-5!
  18. )
  19. cls
  20. echo 文件名修改完毕^^!^^!^^!
  21. pause>nul
  22. exit
复制代码

[ 本帖最后由 BAT1 于 2010-8-31 01:21 编辑 ]
作者: 黑雪飘飘    时间: 2010-9-5 21:32     标题: 回复 13楼 的帖子

谢谢,非常感谢!高手高手高高手




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2