标题:如可做到发现到有PDF文件后打开文件夹,没有PDF文件一直执行
只看楼主
cel
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2021-9-26
结帖率:100%
已结贴  问题点数:20 回复次数:8 
如可做到发现到有PDF文件后打开文件夹,没有PDF文件一直执行
Set fso = CreateObject("Scripting.FileSystemObject")
set f = fso.GetFolder("C:\Users\Administrator\Desktop\out\")
flag = false
for each item in f.files
if lcase(right(item.name,4)) = ".pdf" then
flag = true
exit for
end if
next
if flag then
createobject("wscript.shell").run "cmd /c start C:\Users\%username%\Desktop\out",2
end if
set f = nothing
set fso = nothing
搜索更多相关主题的帖子: if PDF Set flag 文件 
2021-09-26 20:19
约定的童话
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:47
帖 子:190
专家分:1061
注 册:2021-8-1
得分:5 
换个思路,先全部循环遍历完指定文件夹,把pdf文件路径存储在数组内,完事后最后统一处理
2021-09-27 07:11
cel
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2021-9-26
得分:0 
刚学不久,不是很懂,在网上查了很多都不行,可否请版主帮写个出来!
2021-09-27 09:45
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:5 
监控文件夹,当有pdf则打开文件夹并退出运行。

程序代码:
Set oShell = CreateObject("WScript.Shell")
user=oShell.ExpandEnvironmentStrings("%UserName%")

Set fso = CreateObject("Scripting.FileSystemObject")
set f = fso.GetFolder("C:\Users\" + user + "\Documents\")

flag = false
while not flag
    for each item in f.files        
        if lcase(right(item.name,4)) = ".pdf" then        
            oShell.run "cmd /c start /min " + f ,2
            flag = true
            exit for
        end if
    next
    WScript.sleep 1000
wend
set oShell = nothing
set f = nothing
set fso = nothing


[此贴子已经被作者于2021-9-29 21:35编辑过]

2021-09-28 15:07
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:5 
这代码执行起来,当这个目录下没有 PDF 文件时,不会卡死电脑来吗?
无限死循环。。。。。。。
在循环体中加入一行代码,
Sleep 10

后面这个参数表示程序挂起多少毫秒再继续。挂起程序时,会释放CPU,这样电脑不会被卡住。
挂起程序很短时间,不会对人操作电脑有多大影响。
sleep 是一个WIN API 函数,如果要申明时,请自行百度。


授人于鱼,不如授人于渔
早已停用QQ了
2021-09-28 21:10
cel
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2021-9-26
得分:0 
运行时提示找不到路径,C:\Users\%username%\Desktop\out\是否路径表达方式不正确?如换成C:\Users\Administrator\Desktop\out\就可以,但我是有多个用户用的,每个用户用同一个代码查找各自桌面上的文件夹。麻烦两位版主再帮帮忙修改一。
2021-09-29 00:59
hnhhzhb1977
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:19
注 册:2021-9-2
得分:5 
Set MYShell = CreateObject("WScript.Shell")
Text15.Text = MYShell.SpecialFolders("Desktop")

这样不管你是USERS 还是 Administ 或其他了
2021-09-29 13:34
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:0 
以下是引用cel在2021-9-29 00:59:24的发言:

运行时提示找不到路径,C:\Users\%username%\Desktop\out\是否路径表达方式不正确?如换成C:\Users\Administrator\Desktop\out\就可以,但我是有多个用户用的,每个用户用同一个代码查找各自桌面上的文件夹。麻烦两位版主再帮帮忙修改一。

代码改了下,你看看
2021-09-29 21:34
cel
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2021-9-26
得分:0 
多谢各位大神在帮助
2021-09-30 00:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506995-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.347714 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved