Foxtable(狐表)用户栏目专家坐堂 → [求助]如何修改电脑里文件夹名


  共有3628人关注过本帖树形打印复制链接

主题:[求助]如何修改电脑里文件夹名

帅哥哟,离线,有人找我吗?
半人马座比邻星
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2015/1/11 17:31:00
[求助]如何修改电脑里文件夹名  发帖心情 Post By:2015/3/27 20:05:00 [只看该作者]

求助大神

按照图中填写单元格,随后在电脑指定盘符中生成文件夹

 

Dim i As Integer
Dim j As Integer
Dim path As String
For i = 0 To Tables("表A").rows.Count-1
For j = 0 To Tables("表A").cols.Count-1

path = "f:\" & Tables("表A").rows(i)("第一列") &"\"& Tables("表A").rows(i)("第二列")  &"\"& Tables("表A").rows(i)("第三列") &"\"& Tables("表A").rows(i)("第四列") &"\"& Tables("表A").rows(i)("第五列") &"\"& Tables("表A").rows(i)("第六列") &"\"& Tables("表A").rows(i)("第七列") &"\"& Tables("表A").rows(i)("第八列") &"\"& Tables("表A").rows(i)("第九列") &"\"& Tables("表A").rows(i)("第十列") &"\"& Tables("表A").rows(i)("第十一列") &"\"& Tables("表A").rows(i)("第十二列") &"\"& Tables("表A").rows(i)("第十三列") &"\"& Tables("表A").rows(i)("第十四列") &"\"& Tables("表A").rows(i)("第十五列") &"\"& Tables("表A").rows(i)("第十六列") &"\"& Tables("表A").rows(i)("第十七列") &"\"& Tables("表A").rows(i)("第十八列") &"\"& Tables("表A").rows(i)("第十九列") &"\"

filesys.CreateDirectory(path)
Next
Next

 

 

问题是这样:如果在单元格上更改了内容,比如把“6”变成“60”后,再次执行代码。“2”文件夹里出现了“6”和“60”共存的现象。怎么才能实现改成“60”后,把“6”删除,并且同时删除“6”文件夹内的所有文件夹和文件。DeleteDirectory只能删除指定文件夹,DeleteFile只能删除指定文件。


图片点击可在新窗口打开查看此主题相关图片如下:生成文件夹.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/3/28 9:51:00 [只看该作者]

将原目录中的文件复制到新的目录,再删除原目录,简洁达到重命名目录的作用。

http://www.foxtable.com/help/topics/0331.htm

http://www.foxtable.com/help/topics/0343.htm

 

[此贴子已经被作者于2015/3/28 9:52:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
半人马座比邻星
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2015/1/11 17:31:00
  发帖心情 Post By:2015/3/28 15:02:00 [只看该作者]

再一次求教大神,CopyDirectory我试了一下只能删改指定文件夹下的内容DeleteDirectory 也只能删除指定文件夹。我想达成是在设计窗口时设计一个刷新按钮,通过刷新,删掉不存在的文件夹和文件夹内的文件。但是我找不到随机删除文件夹的方法。因为这个表格里行数很多,列很少,删改列的话工作量很大,那我想通过删改行来达到删改文件夹以及文件的目的。


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/28 15:10:00 [只看该作者]

获取指定目录的所有文件夹名,然后就可以遍历和表中数据对比, 不存在就按照2楼代码删除

 回到顶部
帅哥哟,离线,有人找我吗?
半人马座比邻星
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2015/1/11 17:31:00
  发帖心情 Post By:2015/3/28 16:39:00 [只看该作者]

大神,我想了一下。是这样的,1.先更改表格中数据,然后保存表(此时文件夹名未改变)。2获取指定文件夹内所有子文件夹名并在表A中通过新增行来表示(新增的行未保存)3通过对比表A中的数据,得到应该删除的文件夹的路径,通过DeleteDirectory删掉应删的文件夹。4再删除未保存的行,并通过

For i = 0 To Tables("表A").rows.Count-1
For j = 0 To Tables("表A").cols.Count-1

path = "f:\ce shi wen jian jia1\" & Tables("表A").rows(i)("第一列") &"\"& Tables("表A").rows(i)("第二列")  &"\"& Tables("表A").rows(i)("第三列") &"\"& Tables("表A").rows(i)("第四列") &"\"& Tables("表A").rows(i)("第五列") &"\"& Tables("表A").rows(i)("第六列") &"\"& Tables("表A").rows(i)("第七列") &"\"& Tables("表A").rows(i)("第八列") &"\"& Tables("表A").rows(i)("第九列") &"\"& Tables("表A").rows(i)("第十列") &"\"& Tables("表A").rows(i)("第十一列") &"\"& Tables("表A").rows(i)("第十二列") &"\"& Tables("表A").rows(i)("第十三列") &"\"& Tables("表A").rows(i)("第十四列") &"\"& Tables("表A").rows(i)("第十五列") &"\"& Tables("表A").rows(i)("第十六列") &"\"& Tables("表A").rows(i)("第十七列") &"\"& Tables("表A").rows(i)("第十八列") &"\"& Tables("表A").rows(i)("第十九列") &"\"

FileSys.MoveDirectory("path1", "path")


Next
Next

重新生成文件夹

 

 

现在卡在3那,对比表中数据并得到路径这个搞不定了。大神能否帮个忙?


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/28 16:48:00 [只看该作者]

我回头看了一下你的问题,你这个其实很容易解决.

在DataColChanged事件, 修改了列名的时候,删除老的文件夹级可

因为有e.oldValue 可用.

 回到顶部
帅哥哟,离线,有人找我吗?
半人马座比邻星
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2015/1/11 17:31:00
  发帖心情 Post By:2015/3/28 16:54:00 [只看该作者]

简单么?我确实接触这个时间不长,基本是自学。如何同时删掉文件夹呢?

 回到顶部
帅哥哟,离线,有人找我吗?
半人马座比邻星
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2015/1/11 17:31:00
  发帖心情 Post By:2015/3/28 16:55:00 [只看该作者]

e.oldValue 是?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/28 17:00:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
半人马座比邻星
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2015/1/11 17:31:00
  发帖心情 Post By:2015/3/28 22:27:00 [只看该作者]

我试着写了一下

Dim i As Integer

Dim j As Integer
Dim path As String
For i = 0 To Tables("表A").rows.Count-1
For j = 0 To Tables("表A").cols.Count-1
If e.DataCol.Name = "0 To Tables("表A").cols.Count-1" Then
If e.NewValue = True Then
    e.DataRow.save = True
End If
End If
    path1= "f:\ce shi wen jian jia1\" & Tables("表A").rows(i)("第一列") &"\"& Tables("表A").rows(i)("第二列")  &"\"& Tables("表A").rows(i)("第三列") &"\"& Tables("表A").rows(i)("第四列") &"\"& Tables("表A").rows(i)("第五列") &"\"& Tables("表A").rows(i)("第六列") &"\"& Tables("表A").rows(i)("第七列") &"\"& Tables("表A").rows(i)("第八列") &"\"& Tables("表A").rows(i)("第九列") &"\"& Tables("表A").rows(i)("第十列") &"\"


FileSys.DeleteDirectory("path1",3,3)

           
Next
Next

 

 

好像不行,大神救我

 

还有一个想法,如果e.OldValue 能够利用的话,是不是就不用第二步,不用获取指定文件夹内所有子文件夹名并在表A中通过新增行来表示(新增的行未保存)呢?

 

运行时还说“e”是“private",不能在上下文中引用

[此贴子已经被作者于2015/3/28 22:34:46编辑过]

 回到顶部
总数 11 1 2 下一页