找回密码
 加入
搜索
查看: 4679|回复: 11

[AU3基础] 如何批量为文件改名(已解决)

  [复制链接]
发表于 2012-11-22 10:51:18 | 显示全部楼层 |阅读模式
本帖最后由 32714107 于 2013-4-29 12:16 编辑

电脑上有很多excel文件,如下图
想把所有的名字如“家庭承包方式土地合同---(王连明[1616030600200058])”改为“1616030600200058”,“16160306002000**”为连续的,从1到120
感觉应该用正则吧,可我不太懂,请问怎么改啊?谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-11-22 11:23:01 | 显示全部楼层
#Include <File.au3>
Local $sDir = @ScriptDir
Local $aFile = _FileListToArray($sDir, '*1616030600200*', 1)
Local $sNew, $i
For $i = 1 To $aFile[0]
        $sNew = StringRegExpReplace($aFile[$i], '.*?(1616030600200\d+).*', '$1.XLS')
        FileMove($aFile[$i], $sNew)
Next
发表于 2012-11-22 11:33:01 | 显示全部楼层
这个我觉得直接用档案名称修改软体直接作比较快。
现在软体都很强大,可以设定条件字串替换的。
发表于 2012-11-22 12:29:44 | 显示全部楼层
这种情况下 我比较喜欢用批处理,挺快的
发表于 2012-11-22 12:41:54 | 显示全部楼层
回复 4# shqf
想学习一下批处理的代码
 楼主| 发表于 2012-11-22 14:51:07 | 显示全部楼层
谢谢afan老师,也谢谢众多老前辈,让我学到了很多东西!
 楼主| 发表于 2012-11-22 14:58:34 | 显示全部楼层
运行程序,成功!afan老师真是太厉害了,膜拜中。。。。。。
发表于 2012-11-23 09:42:50 | 显示全部楼层
本帖最后由 shqf 于 2012-11-23 09:44 编辑

也交流一下我常在用的批处理方法吧(放在同一个目录下运行)
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /b *.xls ') do (
  set sfname=%%a
  set tfname=!sfname:~18,16!
  ren "%%a" !tfname!.xls
)
dir /b *.xls
pause
发表于 2012-11-23 20:52:37 | 显示全部楼层
回复 8# shqf


    批处理不会呀,在哪里能学到?
发表于 2012-11-24 12:37:16 | 显示全部楼层
afan 发表于 2012-11-22 11:23



  版主的正则太强了,学习了,谢谢!
发表于 2012-11-30 11:29:17 | 显示全部楼层
学习学习学习学习
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-29 17:22 , Processed in 0.255416 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表