求助:谁帮我写一个简单的程序! ( 积分: 100 )

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

moto909

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要一个将a:盘的含有固定文件名的几个文件拷到指定目录的程序,如将xxxx0511.txt的文件拷到d:盘的/上报目录下!说明一下:xxxx为每次都变的文件名0511为05年11月,下月将变成xxxx0512.txt文件名!原理:d:/copy a:/*0511.txt d:/ 。但在界面上要有调整2位年2位月的选项并能将这4为数赋值给一个变量,用于拷贝文件名,我每个月都要把很多软盘上的这样的文件拷到硬盘!想请大家帮帮忙!也不知道这个费不费事!如谁有时间帮我一下!最好能给我源码和说明!我也学习一下 Delphi 。在次提出谢谢!!
 
我需要一个将a:盘的含有固定文件名的几个文件拷到指定目录的程序,如将xxxx0511.txt的文件拷到d:盘的/上报目录下!说明一下:xxxx为每次都变的文件名0511为05年11月,下月将变成xxxx0512.txt文件名!原理:d:/copy a:/*0511.txt d:/ 。但在界面上要有调整2位年2位月的选项并能将这4为数赋值给一个变量,用于拷贝文件名,我每个月都要把很多软盘上的这样的文件拷到硬盘!想请大家帮帮忙!也不知道这个费不费事!如谁有时间帮我一下!最好能给我源码和说明!我也学习一下 Delphi 。在次提出谢谢!!
 
不费事,为什么不锻炼一下自己做呢,看别人源码没有自己做学得深刻
 
我晕死,这也问啊
 
procedure filecopy (const sourcefilename,targetfilename:string);
var
s,t:tfilestream;
begin
s:=tfilestream.Create(sourcefilename,fmopenread);
try
t:=tfilestream.Create(targetfilename,fmopenwrite or fmcreate);
try
t.CopyFrom(s,s.Size)
finally
t.Free;
end;
finally
s.Free;
end;
end;
 
filecopy('a:/*0511.txt,'d:/*0511.txt ');
renamefile('d:/*0511.txt ','d:/*05年11月.txt');
 
写个批处理文件,内容如下:
@ECHO OFF
SET SDIR=A:/
SET DDIR=D:/上报目录/
REM get date
FOR /F "TOKENS=1,2* DELIMS= "
%%A IN ('DATE/T')do
(
SET DATE1=%%A
)
REM get year,month,day
FOR /F "TOKENS=1-3 DELIMS=-"
%%A IN ('echo %DATE1%')do
(
SET lsyy=%%A
SET mm=%%B
SET dd=%%C
)
REM get tow last char of year
SET yy=%lsyy:~2,2%
REM copy file
COPY %SDIR%*%yy%%mm%.txt %DDIR%
SET SDIR=
SET DDIR=
SET lsyy=
SET yy=
SET mm=
SET dd=
 
var
myType: TStringList;
SR: TSearchRec;
S: string;
temp1, temp2: string;
begin
Application.Title := '拷贝例程';
myType := TStringList.Create;
myType.Add('txt');//如果有别的扩展名文件也可以添加进去比如 mytype.add('exe');
if FindFirst('c:/test/*.*', faAnyFile, SR) = 0 then
begin
while FindNext(SR) = 0do
begin
S := Trim(UpperCase(ExtractFileExt(sr.Name)));
if Length(s) = 0 then
Continue;
if s[1] = '.' then
s := copy(s, 2, length(s)-1);
if myType.IndexOf(s) >= 0 then
//检查文件扩展名
begin
temp1 := 'C:/test/' + SR.Name;
temp2 := 'C:/test/1/' + SR.Name;
CopyFile(PChar(temp1), PChar(temp2), True);//拷贝符合条件的文件
end;
end;
end;
Application.ShowMainForm := False;
ShowMessage('处理完成');
Application.Terminate;
end;

专门给你写的哦,加分加分
 
bjyplbx 批处理用的很熟哦,看来经常用的吧
 
to 来如风:
好用就好
 
谢谢大家!特别是Alex_Y,我想和你联系!怎么联系呢?信箱或qq号多少阿?
 
Alex_Y 你好!怎么联系阿>???
 
后退
顶部