文件打包问题【已解决】
本帖最后由 872777825 于 2013-8-30 15:36 编辑Dim $afile ,$num
Dim $MYCTRL
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$MYGUI = GUICreate("", 620, 442, -1, -1)
$MYCTRL = GUICtrlCreateLabel("选择文件夹所在路径:", 8, 112, 124, 17)
$MYCTRL = GUICtrlCreateInput("", 128, 112, 345, 21)
$MYCTRL = GUICtrlCreateButton("浏览", 480, 112, 57, 25)
$MYCTRL = GUICtrlCreateButton("写入", 472, 368, 113, 41)
$MYCTRL = GUICtrlCreateLabel("文件名", 16, 216, 76, 17)
$MYCTRL = GUICtrlCreateInput("", 104, 208, 361, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $MYCTRL
Local $vardir = FileSelectFolder("请指定文件所在根目录","",1,"c:\")
If $vardir <> "" Then
GUICtrlSetData($MYCTRL,$vardir)
Dim $arr = StringSplit($vardir,"\")
GUICtrlSetData($MYCTRL,$arr)
EndIf
Case $MYCTRL
writfile()
EndSwitch
WEnd
Func writfile()
$num = 0
_filelist(GUICtrlRead($MYCTRL))
$temp = ""
For $i=0 To UBound($afile)-1
$temp &= $afile[$i]&@CRLF
Next
FileOpen("e:\"&GUICtrlRead($MYCTRL)&".txt", 1)
FileWrite("e:\"&GUICtrlRead($MYCTRL)&".txt",$temp)
FileClose("e:\"&GUICtrlRead($MYCTRL)&".txt")
Local $a = FileRead("e:\"&GUICtrlRead($MYCTRL)&".txt"), $ss = ''
$a = StringRegExp($a, '(?s).+(?=' & $ss & ')', 3)
If Not @Error Then $a = StringRegExpReplace($a, @CRLF, '')
$b = @extended
For $i = 1 To $b - 1
$redfile = FileReadLine("e:\"&GUICtrlRead($MYCTRL)&".txt",$i)
$wfile = FileOpen("e:\tt.txt", 1)
$TE = "FILEINSTALL("""&$redfile&""")"
FileWriteLine($wfile, $TE)
Next
EndFunc
Func _filelist($searchdir)
$search = FileFindFirstFile($searchdir & "\*")
If $search = -1 Then Return -1
While 1
$file = FileFindNextFile($search)
If @error Then
FileClose($search)
Return
ElseIf $file = "." Or $file = ".." Then
ContinueLoop
ElseIf StringInStr(FileGetAttrib($searchdir & "\" & $file), "D") Then
_filelist($searchdir & "\" & $file)
ContinueLoop
EndIf
$afile [$num] = $searchdir & "\"&$file
$num += 1
ReDim $afile
WEnd
EndFunc ;==>_filelist代码如上
小弟想法是这样的 想通过以上方式指定某个目录后点击写入可以在E盘的tt.txt文本下按指定目录的目录结构写出所有文件跟文件夹的路径
且以FILEINSTALL的方式表达现在是前面这段写出来了 但后面这段不知道如何表达
如图
问题:
1,画着横线箭头的路径,如何获得前面 E:\test 路径后的后半段路径写在后面的 C:\TEST2后面
2,fileinstall 需要释放的文件要所在路径下存在改目录才可以成功释放, 那如果目录不存在的时候如何处理
知道 用DirCreate可以创建目录 但E:\test目录是通过自定义指定的随时都可以改变所以不能直接来做判断
不知道以上表达各位是否能看得明白如果不清楚欢迎交流
同时希望各位老大抽点时间帮小弟出点主意在此先谢过
这个问题我不知道属于什么问题所以不知道如何表达帖子标题 希望各位老大高台贵手暂时不要删除帖子或者给个方法怎么提出这个问题麻烦了
答案在4 楼 没人帮助我么{:face (319):} 很疼疼的问题~留给别人回答吧~ 类似? http://www.autoitx.com/thread-9210-1-1.html 楼上的UDF我喜欢 回复 4# afan
谢谢 afan 老大的指点 问题解决了谢谢 赞一个{:face (125):}
页:
[1]