Board logo

标题: [问题求助] VBS如何按exe文件的最后修改时间的先后依次执行指定目录中的程序 [打印本页]

作者: 我来了    时间: 2014-5-8 13:33     标题: VBS如何按exe文件的最后修改时间的先后依次执行指定目录中的程序

本帖最后由 pcl_test 于 2016-7-27 20:37 编辑

求个VBS的,
按生产的时间,


运行指定目录C:\test\XYZ.XXX
注XYZ为随机文件名,*.XXX为特定类型可以看作是EXE

按时间执行第一个EXE
并按下ctrl+V
延迟1秒钟
第二个EXE
ctrl+V
延迟1秒钟
。。。。
第三个EXE
ctrl+V
延迟1秒钟
。。。。。。
。。。。。
。。。。。

多谢老师~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: 9zhmke    时间: 2014-5-8 15:54

看不懂说的啥
作者: CrLf    时间: 2014-5-8 17:43

能用 bat 或 js 或 wsf 吗?
作者: 我来了    时间: 2014-5-8 21:56

本帖最后由 我来了 于 2014-5-8 21:57 编辑

回复 3# CrLf


在别的论坛,别人给我搞了一个,但结果是不正确的
@echo off
for %%f in ("C:\test\*.exe") do start %%~sf

能不能变成执行完一条再执行第2条之间 延时1秒钟?

这样就能自动化的模仿clipmate的序列剪贴功能了。


我的目的是,让它按生成的时间顺序来读取相关文件 (就当做是.exe文件就成).powerproclip类型的文件(由于文件的关联性已经通过注册表导入好了)
只要能运行,这种类型的,就可以把数据库弄到剪贴板了,这样再安排好,间隔时间就能模拟出clipmate的序列剪贴功能了。那位朋友还说什么使用计划任务那样就不达标了,
所以想到了VBS的了


只要,把批定类型的文件,当做.exe处理,关键那个生成的时间循序来支持给写出来就成了,读一个,间隔一秒,再第二个。。。。。一秒,第三个。。。。。基本就这意思。
作者: apang    时间: 2014-5-9 13:04

  1. Set ws = CreateObject("WScript.Shell")
  2. If WScript.Arguments.Length = 0 Then
  3.     ws.Run "cscript """ & WScript.ScriptFullName & """ OK", 0
  4.     WScript.Quit
  5. End If
  6. ws.CurrentDirectory = "C:\Test"
  7. Set oExec = ws.Exec("cmd /c dir /b /od *.exe")
  8. while Not oExec.StdOut.AtEndOfStream
  9.     f = oExec.StdOut.ReadLine
  10.     ws.Run chr(34) & f & chr(34), , true
  11.     rem ws.SendKeys "^V"
  12.     WScript.Sleep 1000
  13. wend
复制代码

作者: terse    时间: 2014-5-9 13:28

楼主是想把文件运行结果送到剪贴板,还是把文件内容送到剪贴板呢?
既然用VBS  还不如直接操作clipboardData
作者: 我来了    时间: 2014-5-10 21:11

回复 6# terse

因为只要能运行,那种PowerPro格式的剪贴板文件就会自动被送入剪贴板,关键中间的那个延迟1秒




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2