使用AutoHotkey读取目录中的文件名

时间:2013-07-19 03:29:25

标签: directory autohotkey

我正在寻找一种方法来读取文件夹并将每个文件名保存到变量中。到目前为止,这就是我所拥有的

Loop,C:\My Documents\Notes\*

在我的笔记目录中,我有pdf文件。我想读取目录并将文件名“Homework1.pdf”保存到变量,然后将文件本身移动到另一个目录。在下一个循环中,它将获取下一个pdf文档“Test.pdf”等。这应该循环直到每个pdf都被移动。

我知道我可以使用FileMove,但样本显示您必须提供要移动的特定文件名。如何调整此项以逐个移动每个pdf文件?

2 个答案:

答案 0 :(得分:2)

FileList =
Loop, C:\My Documents\Notes\*
   FileList = %FileList%%A_LoopFileName%`n
Loop, parse, FileList, `n
   FileMove, %A_LoopField%, C:\NewLocation

原始来源:http://www.autohotkey.com/docs/commands/LoopFile.htm

答案 1 :(得分:2)

您可以绕过创建要解析的列表(假设您不需要其他任何变量)并使用内置变量A_LoopFileFullPathA_LoopFileName来完成此任务。

Loop, C:\My Documents\Notes\*.pdf
    FileCopy, % A_LoopFileFullPath, C:\NewPath\%A_LoopFileName%

编辑:尝试使用此功能预览结果

Loop, C:\My Documents\Notes\*.pdf
    Msgbox % A_LoopFileFullPath "`nC:\NewPath\" A_LoopFileName