[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 zzpsongs 于 2012-8-9 11:24 编辑
  呵呵,确实弄错了,又忘记了先做测试再正式发代码。其实这个问题以前曾在CN-DOS上有过讨论,你这一提醒 ...
namejm 发表于 2009-2-12 22:52



    链接打不开了;另外,经过测试,我整理出关于?的特性

前提:"?"表示1个字符的说法有误,应该表示0~1个字符;

推论一:“旧文件名”中“?”的个数限制了未知字符的最大数目,
比如:
  1. ren test??.txt abc??.txt
复制代码
表示匹配“旧文件名”是以test开头的,并且后方可以多出0~2个字符的文件(后缀名不算),那么test123.txt 就不匹配了

推论二:“新文件名”中的“?”的个数限制了“新文件名”中允许保持的对应未知字符的最大数目,
比如:
存在一个文件是test123.txt,接着执行下面的命令
  1. ren test????.txt abc??.txt
复制代码
匹配到test123.txt了,那么从第一个字符开始命名为“新文件名”,于是“tes”替换为“abc”,由于新文件名格式中abc后面是??,那么改名后,“abc”后允许保留原来“tes”后面两个字符,即是“t1”了,最后就是abct1.txt了

望指教!

TOP

返回列表