[已解决]如何将指定文件夹下的所有文件名写入到一个文本文件中?
本帖最后由 Newbie 于 2013-7-20 21:18 编辑类似这样的:
E:\电影\外国\乱世佳人.rmvb
E:\电影\外国\佐罗的面具.rmvb
E:\电影\外国\剧情\你丫闭嘴(东北话版).rmvb
E:\电影\外国\剧情\勇敢的心.rmvb
E:\电影\外国\剧情\卡萨布兰卡.rmvb
E:\电影\外国\剧情\在路上.mkv
E:\电影\外国\剧情\廊桥遗梦.rmvb
包含子文件夹中的文件。 回复 1# Newbie
参照
;=============================
;例子2:递归查找当前目录及其子目录下的所有文件
;=============================
FindAllFile(@ScriptDir)
Func FindAllFile($sDir)
Local $hSearch = FileFindFirstFile($sDir & "\*.*")
; 检查搜索是否成功
If $hSearch = -1 Then Return
While 1
Local $sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
If @extended Then
FindAllFile($sDir & "\" & $sFile)
ContinueLoop
EndIf
FileWriteLine("找到的文件.txt",$sDir & "\" & $sFile)
WEnd
; 关闭搜索句柄
FileClose($hSearch)
EndFunc 感谢!{:face (84):} 回复 2# yifang3878
来学习,谢谢。 感谢2楼的例子!正好用到!再次谢谢! 本帖最后由 xlj310 于 2013-7-20 14:19 编辑
使用bat命令,很久以前就会的,dir>name.txt 即可!
不过这个命令会把文件夹也会列出来,当然,对于你这个测试例子来说还是没有问题的,貌似你要获取的文件名应该是会排在一起的,而且批处理命令对文件操作也是很容易的! 本帖最后由 Ycxw2008 于 2013-7-20 17:34 编辑
$DirPath = @ScriptDir ; 目录
$SaveFile = @ScriptDir & "\file.txt" ; 保存的文件
;~ 下面几个参数的用处,具体的查看命令行帮助
;~ /A:-D 不保存目录名
;~ /B 使用空格式(没有标题信息或摘要)
;~ /S 显示指定目录和所有子目录中的文件
RunWait(@ComSpec & " /c DIR /B /S /A:-D " & $DirPath & " > " & $SaveFile, "", @SW_HIDE)
;~ RunWait("Notepad " & $SaveFile)
;~ FileDelete($SaveFile)
页:
[1]