回 帖 发 新 帖 刷新版面

主题:如何批量将文本文件的名字写入文本文件内

例如:将12.txt的文件名12写入12.txt文件内的第一行 
      将123.txt的文件名123写入123.txt文件内的第一行 
      将1234.txt的文件名1234写入1234.txt文件内的第一行 
      将12345.txt的文件名12345写入12345.txt文件内的第一行 
      将123456.txt的文件名123456写入123456.txt文件内的第一行
也许有的文件名之间有空格!!!

回复列表 (共5个回复)

沙发

FOR i=1 TO ADIR(alj,"c:\temp\*.txt")
    aljstr="alj("-TRANSFORM(i)-',1)'
    allnamestr=&aljstr
    namestr=CHRTRAN(allnamestr,".TXT","")
    txtstr=FILETOSTR("c:\temp\"-&aljstr)
    c_name="'"+"c:\temp\"+"&allnamestr"+"'"
    STRTOFILE(STRTRAN(txtstr,txtstr,namestr+CHR(13)+CHR(10)+txtstr),&c_name)
NEXT

板凳

使用justfile("123.txt")取得文件的主文件名到一个字符型变量中;
使用fopen打开123.txt文件
使用fwrite写入字符型变量到文件中。

3 楼

Local cPath,nFileCount,aFile[1],cFile,cFileStr
cPath="g:\"
nFileCount=ADIR(aFile,addbs(cPath)+"*.txt")
FOR I=1 TO nFileCount
    cFileStr=FileToStr(addbs(cPath)+aFile[I,1])
    =StrToFile(JUSTSTEM(aFile[I,1])+CHR(13)+CHR(10)+cFileStr,addbs(cPath)+aFile[I,1])
ENDFOR
&&在TXT文件内容前写入文件名,并加入了回车换行符
&&注意上段代码没有加入文件是否正被使用的判断.

4 楼


怎么不会实现我要的结果呀,是不是把你们代码做成prg程序和我的那些TXT文件放在一个文件夹里,然后运行程序?
还是谢谢各位老师!!

5 楼

把代码放到.prg文件中,把 “FOR i=1 TO ADIR(alj,"c:\temp\*.txt") ”这一句中的路径"c:\temp\*.txt"改为你存放TXT文件的路径。
然后运行。

我来回复

您尚未登录,请登录后再回复。点此登录或注册