|
本帖最后由 872777825 于 2013-8-30 15:36 编辑 Dim $afile [1],$num
Dim $MYCTRL[15]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$MYGUI = GUICreate("", 620, 442, -1, -1)
$MYCTRL[1] = GUICtrlCreateLabel("选择文件夹所在路径:", 8, 112, 124, 17)
$MYCTRL[2] = GUICtrlCreateInput("", 128, 112, 345, 21)
$MYCTRL[3] = GUICtrlCreateButton("浏览", 480, 112, 57, 25)
$MYCTRL[4] = GUICtrlCreateButton("写入", 472, 368, 113, 41)
$MYCTRL[5] = GUICtrlCreateLabel("文件名", 16, 216, 76, 17)
$MYCTRL[6] = 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[3]
Local $vardir = FileSelectFolder("请指定文件所在根目录","",1,"c:")
If $vardir <> "" Then
GUICtrlSetData($MYCTRL[2],$vardir)
Dim $arr = StringSplit($vardir,"")
GUICtrlSetData($MYCTRL[6],$arr[UBound($arr)-1])
EndIf
Case $MYCTRL[4]
writfile()
EndSwitch
WEnd
Func writfile()
$num = 0
_filelist(GUICtrlRead($MYCTRL[2]))
$temp = ""
For $i=0 To UBound($afile)-1
$temp &= $afile[$i]&@CRLF
Next
FileOpen("e:"&GUICtrlRead($MYCTRL[6])&".txt", 1)
FileWrite("e:"&GUICtrlRead($MYCTRL[6])&".txt",$temp)
FileClose("e:"&GUICtrlRead($MYCTRL[6])&".txt")
Local $a = FileRead("e:"&GUICtrlRead($MYCTRL[6])&".txt"), $ss = ''
$a = StringRegExp($a, '(?s).+(?=' & $ss & ')', 3)
If Not @Error Then $a = StringRegExpReplace($a[0], @CRLF, '')
$b = @extended
For $i = 1 To $b - 1
$redfile = FileReadLine("e:"&GUICtrlRead($MYCTRL[6])&".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 [UBound($afile)+1]
WEnd
EndFunc ;==>_filelist
代码如上
小弟想法是这样的 想通过以上方式 指定某个目录后 点击写入可以在E盘的tt.txt文本下 按指定目录的目录结构写出所有文件跟文件夹的路径
且以FILEINSTALL的方式表达 现在是前面这段写出来了 但后面这段不知道如何表达
如图
问题:
1,画着横线箭头的路径, 如何获得前面 E:\test 路径后的后半段路径写在后面的 C:\TEST2后面
2,fileinstall 需要释放的文件要所在路径下存在改目录才可以成功释放, 那如果目录不存在的时候如何处理
知道 用DirCreate可以创建目录 但E:\test目录是通过自定义指定的 随时都可以改变 所以不能直接来做判断
不知道以上表达各位是否能看得明白 如果不清楚 欢迎交流
同时希望各位老大抽点时间帮小弟出点主意 在此先谢过
这个问题我不知道属于什么问题 所以不知道如何表达帖子标题 希望各位老大高台贵手 暂时不要删除帖子 或者给个方法怎么提出这个问题 麻烦了
答案在 4 楼 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入
×
|