发新话题
打印

[基础] 把E:\A\2个文件取出并改名到E:\B\里面,改名=原来的名+当前日期。

把E:\A\2个文件取出并改名到E:\B\里面,改名=原来的名+当前日期。

前提是E盘A文件夹里不知道2个文件的名,请高手不吝赐教 。都好长时间没能解决了,上火啊!

TOP

Dim MyFile, MyPath, MyName, NewPath


MyPath = "E:\A\"   ' 指定路径。
NewPath = "E:\B\"
MyName = Dir(MyPath, vbDirectory)   ' 找寻第一项。
Do While MyName <> ""   ' 开始循环。
   ' 跳过当前的目录及上层目录。
   If MyName <> "." And MyName <> ".." Then
      ' 使用位比较来确定 MyName 代表一目录。
      If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
         Debug.Print MyName   ' 如果它是一个目录,将其名称显示出来。
      Else
        Name MyPath & MyName As NewPath & MyName & Format("yyyymmdd")
      End If
   End If
   MyName = Dir   ' 查找下一个目录。
Loop
换个头像,看见广告就眼红,直接封ID。

TOP

回复 2# 的帖子

程序挺好但是改名都成这种格式了,ABC.txtyyyymmdd,CD.txtyyyymmdd

比如这么说吧,把.TXT文件类型的都找出来改名应该都为ABC20080725.txt 和CD20080725.txt
现在程序没有取出当前时间来, 谢谢如果知道还请不吝赐教非常感谢。其实就是改名这部分怎么都改不好。估计太晚了,没有测试就发上来了,但是非常感谢!

TOP

非常感谢但是程序测试结果为
ABC.txtyyyymmdd想要成为ABC20080725.txt格式的。
主要是新手估计高手看到自己就会改了, 还请知道的调整一下。谢谢

TOP

可将代码改成如下试试:
Sub test()
   Dim MyFile, MyPath, MyName, NewPath
   Dim sName0$, sName1$
   
   MyPath = "E:\A\"   ' 指定路径。
   NewPath = "E:\B\"
   MyName = Dir(MyPath)   ' 找寻第一项。
   Do While MyName <> ""   ' 开始循环。
      sName0 = Split(MyName, ".")(0)
      sName1 = "." & Split(MyName, ".")(1)
      Name MyPath & MyName As NewPath & sName0 & Format(Now, "yyyymmdd") & sName1
      MyName = Dir   ' 查找下一个目录。
   Loop
End Sub

TOP

楼上正解
换个头像,看见广告就眼红,直接封ID。

TOP

发新话题