本帖最后由 papapa314 于 2011-1-20 23:50 编辑
首先感谢3mile和tryhi的帮助,解决了一个字符串替换的问题。学au3快一个月了,从论坛上学到很多东西,现在把正在写的一个程序中关于批量得到文件路径的源码分享出来。写这个源码没有参考论坛的资料,完全是自己想的,如果有重复或者写的不好的地方,还希望各位老大提出意见。#include <file.au3>
#include <array.au3>
$file=_TempFile("C:\temp", "tst2_", ".txt", 9);创建一个临时文件
$filenamestring=FileOpenDialog("浏览文件","","(*.txt;*.pdf;*.doc;*.docx;*.ppt;*.pptx;*.xls;*.xlsx)",4);得到文件名的字符串
If Not @error Then
$filelist=StringRegExpReplace($filenamestring,"\|",@CRLF);把字符串中的|替换为换行符,并存入$filelist中
FileWrite($file,$filelist);写入一个临时创建的txt文件中
$num=_filecountlines($file);计算行数,如果选中的文件等于1,则$num=1,如果选中的文件数大于1,则$num=文件数+1
EndIf
If $num=1 Then
$path0=FileReadLine($file)
MsgBox(0,"",$path0)
EndIf
If $num>=3 Then;$num不会等于2,所以跳过2
Dim $path[$num-1];定义一个用来存储文件路径的数组
Dim $i=0
While $i< $num-1
$path[$i]=FileReadLine($file,1)&FileReadLine($file,$i+2);FileReadLine($file,1)是路径的头,FileReadLine($file,$i+2)是文件名
$i=$i+1
WEnd
_ArrayDisplay($path)
EndIf
FileDelete($file);把刚才创建的文本文件删除,不然会产生很多垃圾。
|