要求:
在VB下用代码实现文件的复制,有如下要求:
1、将文件A下的文件复制到另一文件夹B下
2、文件名为随机建立,是已当天的日期为文件名,即为“YYYYMMDD”。
3、文件夹路径最好使用变量
那位知道,请帮忙。

解决方案 »

  1.   

    dim filename1 as string ,filename2 as string
    filename1=app.path & "\a\1.txt"
    filename2=app.path & "b\"
    filename2=filename2 & Format(Now, “yyyymmdd”) & ".txt"
    filecopy filename1,filename2
    kill filename1
      

  2.   

    楼上怎么还Kill啊?
    是复制还是移动啊?
    如果是移动,用语句
    Name oldFileName As newFileName
    就可以了
      

  3.   

    后面直接用 Name oldpathname As newpathname,开始以为是复制文件呢
      

  4.   

    文件名为随机建立,是已当天的日期为文件名,即为“YYYYMMDD”这句话我不太看得懂哦~~,如果是一律用当天日期做文件名,岂不是重复了?下面的思路实现的是:
    将文件夹A下的文件复制到文件夹B下,而且移动后的文件名依次为:
    假设今天是2000-10-10
    20001010_0
    20001010_1
    ....
    20001010_N
    如果存在文件,则自动修改为20001010_N_21:SHGetPathFromIDList和SHBrowseForFolder函数来选择A文件夹和B文件夹
    并保存在两个变量中,StrA,StrB
    2:然后用FindFirstFile和FindNextFile来遍利整个A文件夹,并且每找到一个文件,并把旧文件名和生成的新文件名放入两个数组中保存起来。
    Count=Count+1
    Redim Preserve OldName(Count)
    Redim Preserve NewName(Count)
    OldName(Count)=...
    NewName(Count)=Format(Date,"yyyymmdd")+"_"+Cstr(Count)3:最后用一个循环将文件复制到目录StrB中去!
    For i=0 to Count
       If Len(StrB & NewName)<>0 then
          if msgbox ("要覆盖吗?",vbYesNo)=vbNo then NewName(i)=NewName(i)+ "_2"
       end if
       FileCopy StrA+OldName(i) StrB+NewName(i) 
    Next i4:对了,不要忘记错误捕捉,可能复制的文件已经打开,就会出错。
      

  5.   

    问题已经得到解决,谢谢各位朋友的热心支持,尤其是Gutta(冯大狂) wx05(努力学习中)及maskdata……当然还有帮助我的每一位朋友!谢谢呢~
    简单程序如下:(检测文件是否已经存在的请自行编写)
    Set fs = CreateObject("Scripting.FileSystemObject")fs.CopyFile "Yourfilename", "Yourfilename(" + Str(Date) + ").mdb", False
    MsgBox "数据备份成功!"
    Set fs = Nothing
    运行结果如下:轴承记录编辑备份(2005-3-17).mdb