找回密码
 加入
搜索
查看: 2117|回复: 4

[系统综合] 怎么获取一个文件夹里新增了一个PDF文件,并且获取其文件名?

[复制链接]
发表于 2015-1-6 21:47:07 | 显示全部楼层 |阅读模式
我想打印CAD 文档成PDF文档,我想判断PDF文档是否打印成功,想用autoit监视某个文件夹是否有新增PDF文件,并且获取其名称,这个用什么判断?
由于这个是Autocad VBA和autoit结合的一段程序,因此有可能伴随CAD改名。所以通过CAD文档的标题监视某个名字的PDF可能不成功。
求高手指教!
发表于 2015-1-6 23:09:19 | 显示全部楼层
本帖最后由 zhouhaijin 于 2015-1-7 00:06 编辑

#include <File.au3>
#include <Array.au3>

While 1
        $FileListA = _FileListToArray(@DesktopDir, "*.PDF")
        _ArrayDelete($FileListA, 0)
        Sleep(1000)
        $FileListB = _FileListToArray(@DesktopDir, "*.PDF")
        _ArrayDelete($FileListB, 0)
        $aC = ArrayFindDifEle($FileListA, $FileListB)
        If $aC[0] > 0 Then _ArrayDisplay($aC, "添加了新PDF文件")
WEnd


Func ArrayFindDifEle(ByRef $aA, ByRef $aB)
        Local $aRetn[1] = [0]
        If Not IsArray($aA) Or Not IsArray($aB) Then Return $aRetn
        For $a In $aA
                Assign('_' & String(StringToBinary(StringUpper($a))), 0, 1)
        Next
        Local $Num = 0
        For $b In $aB
                If Not IsDeclared('_' & String(StringToBinary(StringUpper($b)))) Then
                        $Num += 1
                        ReDim $aRetn[$Num + 1]
                        $aRetn[$Num] = $b
                EndIf
        Next
        $aRetn[0] = $Num
        Return $aRetn
EndFunc   ;==>ArrayFindDifEle
 楼主| 发表于 2015-1-6 23:38:32 | 显示全部楼层
回复 2# zhouhaijin

哇,太棒了,简直就是量身定制的啊!非常感谢!
发表于 2015-1-7 00:08:25 | 显示全部楼层
回复  zhouhaijin

哇,太棒了,简直就是量身定制的啊!非常感谢!
chen2j 发表于 2015-1-6 23:38



     _FileListToArray可以直接筛选,改了一下
发表于 2015-1-7 03:34:23 | 显示全部楼层
本帖最后由 netegg 于 2015-1-7 03:42 编辑

[au3]#include <File.au3>
#include <Array.au3>
$FileListA = _FileListToArray(@DesktopDir, "*.PDF",1)
$FileListB = _FileListToArray(@DesktopDir, "*.PDF",1)
$i=1
while Not($i > $fileListA[0])
If not(_arraysearch($FileListA, $FileListB[$i])) Then exitloop
$i+=1
WEnd
msgbox(0,0,$FileListB[$i])[/au3]
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-27 13:41 , Processed in 0.082516 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表