以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]批量修改文件名 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=34350) |
-- 作者:8350 -- 发布时间:2013/6/6 9:50:00 -- [求助]批量修改文件名 现在有一个总文件夹,文件夹下有很多的子文件夹,这些文件夹的名称都是已数字命名的,如:542526483311JA00001, 542526483311JA00002, 现在是这样,这些数字文件夹下面有一个.doc文件,原来是清单.doc,现在我想写一个按钮,达到直接选中总文件夹后,批量完成将该文件夹下的清单.doc文件改名为542526483311JA00001清单.doc,等等,就是取数字编号文件名称+清单来完成一一对应关系,可否? |
-- 作者:Bin -- 发布时间:2013/6/6 9:56:00 -- http://www.foxtable.com/help/topics/0331.htm 参考这里可以满足你需求 先利用GetDirectories 获得所有文件夹名 再利用 MoveFile 重命名 最后 DeleteFile 删除原来的文件
|
-- 作者:8350 -- 发布时间:2013/6/6 11:14:00 -- 能帮写一下代码么,我参考学习,因为刚刚接触弧表,还有点搞不清楚,谢谢 |
-- 作者:8350 -- 发布时间:2013/6/6 12:04:00 -- 按钮公式: For Each dr As DataRow In DataTables("表A").DataRows Dim fl2 As String = "C:\\B\\" & dr("宗地号") & "\\ 清单.doc" FileSys.RenameFile(fl2,"C:\\B\\" & dr("宗地号") & "\\" & dr("宗地号") & "清单.doc") Next |
-- 作者:8350 -- 发布时间:2013/6/6 12:04:00 -- 不知错误在哪里?》请指教 |
-- 作者:狐狸爸爸 -- 发布时间:2013/6/6 12:07:00 -- 1、“清单”前面多了一个空格:
Dim fl2 As String = "C:\\B\\" & dr("宗地号") & "\\ 清单.doc" |
-- 作者:8350 -- 发布时间:2013/6/6 12:24:00 -- 哈哈,收到,谢谢老总 |
-- 作者:8350 -- 发布时间:2013/6/6 12:34:00 -- 还是不行,按你的改了 For Each dr As DataRow In DataTables("表A").DataRows Dim fl2 As String = "C:\\B\\" & dr("宗地号") & "\\清单.doc" FileSys.RenameFile(fl2,"C:\\B\\" & dr("宗地号") & "\\" & dr("宗地号") & "清单.doc") Next 还有就是想设计一个全局变量A,A代表的是改名前的DOC文件的名称,因为手工做的很多不统一,有的是XX清单,有的是xxx清单,想给一个手工输入的地方来完成改名,不知怎么修改代码。 谢谢
|
-- 作者:狐狸爸爸 -- 发布时间:2013/6/6 14:24:00 -- 你要重命名的话,第二个参数不能包括路径,因为重命名只是更改源文件的名称,并不改变文件的路径。 http://www.foxtable.com/help/topics/0342.htm
For Each dr As DataRow In DataTables("表A").DataRows
也就是先复制文件到一个新的位置和新的名称,然后删除原来的目录,具体可以自己调整,看看全部的文件与目录相关函数: http://www.foxtable.com/help/topics/0331.htm
|
-- 作者:狐狸爸爸 -- 发布时间:2013/6/6 14:26:00 -- 至于第二个文件:
For Each dr As DataRow In DataTables("表A").DataRows For Each fl2 As string in Filesys.GetFiles(dr2) Next |