如何 将一个目录的文件拷贝到另一个目录,以及更改一个目录所有文件的属性(增或减)?(30分)

  • 主题发起人 主题发起人 mjwmjw
  • 开始时间 开始时间
M

mjwmjw

Unregistered / Unconfirmed
GUEST, unregistred user!
 希望你能给出 简单的代码!
 
1.将一个目录的文件拷贝到另一个目录.<br>&nbsp; CopyFile(PChar('c:/autoexec.bat'), PChar('d:/autoexec.bat'), False);<br>2.更改一个目录所有文件的属性.<br>&nbsp; 看看FindFirst和FindNext的帮助。
 
我的意思是:1。copy一个目录里的所有文件。<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2。更改所有文件的 属性。<br>王兄,您能否说的再具体一点?
 
ShFileOperation()<br>复制目录:<br>function CopyDirectory(const Source, Dest: string): boolean;<br>var<br>&nbsp; fo: TSHFILEOPSTRUCT;<br>begin<br>&nbsp; FillChar(fo, SizeOf(fo), 0);<br>&nbsp; with fo do<br>&nbsp; begin<br>&nbsp; &nbsp; Wnd := 0;<br>&nbsp; &nbsp; wFunc := FO_COPY;<br>&nbsp; &nbsp; pFrom := PChar(source+#0);<br>&nbsp; &nbsp; pTo := PChar(Dest+#0);<br>&nbsp; &nbsp; fFlags := FOF_NOCONFIRMATION+FOF_NOCONFIRMMKDIR &nbsp; &nbsp;;<br>&nbsp; end;<br>&nbsp; Result := (SHFileOperation(fo) = 0);<br>end;<br>//Copy 多个文件的处理:<br>function CopyFiles(const Source,Dest: string): boolean;<br>var<br>&nbsp; fo: TSHFILEOPSTRUCT;<br>begin<br>&nbsp; FillChar(fo, SizeOf(fo), 0);<br>&nbsp; with fo do<br>&nbsp; begin<br>&nbsp; &nbsp; Wnd := 0;<br>&nbsp; &nbsp; wFunc := FO_COPY;<br>&nbsp; &nbsp; pFrom := @source[1];<br>&nbsp; &nbsp; pTo :=pchar(dest);<br>&nbsp; &nbsp; fFlags := FOF_NOCONFIRMATION+FOF_NOCONFIRMMKDIR &nbsp; &nbsp;;<br>&nbsp; end;<br>&nbsp; Result := (SHFileOperation(fo) = 0);<br>end;<br>...........<br>Rename.....类似。自己看吧。
 
/to:王维国。××看看FindFirst和FindNext<br>&nbsp; &nbsp; 我用这两个 函数查找文件时,attr属性设为 faanyfile,结果连. 和.. &nbsp;也查出来了。<br>怎么将这两个文件去掉?<br><br>/to:kingron &nbsp;。<br>&nbsp; &nbsp; <br>&nbsp; fo: TSHFILEOPSTRUCT &nbsp; 这是个什么结构,我怎么没有见过,delphi帮助里也没有查到?<br>
 
uses shellapi<br>其实就是SHFILEINFO结构,看看API的帮助把。<br>至于.和..的问题,过滤就是了。<br>不会要代码吧?<br>再不要问我了。自己得到的东西印象深刻一些.........
 
我做了一个这个方面的程序,完全有你要的要求<br>可以复制目录,批量修改属性,要的话,可以把原码发到你的信箱
 
不好意思,辛苦三位了,<br>&nbsp; &nbsp; 但因为分太少,就只略表心意了。
 
后退
顶部