jumzhou 发表于 2009-11-2 13:39:41

run如何运行指定目录下的某个EXE文件?

假设要运行a目录的b或者c文件

b和c是不固定的,但是,都是exe文件
那么,我要怎么运行b或者c文件呢?
a目录下只有b和c之间的一个文件

即即 发表于 2009-11-2 15:11:58

如何运行b或c关键是条件。

kn007 发表于 2009-11-2 15:38:03

随便写个,自己改吧$path ="a目录的完整路径"

_SF($path)
Func _SF($searchdir="")
        If $searchdir = "" then $searchdir = @ScriptDir
    $search = FileFindFirstFile($searchdir & '\*.*')
    If $search = -1 Then Return -1
    While 1
      $file = FileFindNextFile($search)
      If @error Then
            FileClose($search)
            Return
      ElseIf $file = '.' Or $file = '..' Then
            ContinueLoop
      ElseIf StringInStr(FileGetAttrib($searchdir & '\' & $file), 'D') Then
            _filelist($searchdir & '\' & $file)
      EndIf
                If StringRight($file, 4) = ".exe" Then
                        If $file<>@ScriptName Then
                                ShellExecute($searchdir&"\"&$file,"",$searchdir)
                                Exit 0
                        EndIf
                EndIf
    WEnd
EndFunc

jumzhou 发表于 2009-11-2 16:12:54

哎,就想取个文件名,怎么要那么多代码,郁闷。

就想取到A文件夹下的b或者c文件的文件名为变量
然后用run去执行

cedarprince 发表于 2009-11-2 16:20:51

4# jumzhou
不知“b和c不固定”是什么意思?
文件名称不确定,还是不可预知?还是文件是否存在不确定??

cedarprince 发表于 2009-11-2 16:21:47

4# jumzhou
如果文件名称可预知,可以先通过名称查看文件是否存在,用循环加条件判断

kn007 发表于 2009-11-2 16:30:04

哎,就想取个文件名,怎么要那么多代码,郁闷。

就想取到A文件夹下的b或者c文件的文件名为变量
然后用run去执行
jumzhou 发表于 2009-11-2 16:12 http://www.autoitx.com/images/common/back.gif
你行你自己搞吧,我上面的源码,就是找出指定路径的所有exe,然后运行

xz00311 发表于 2009-11-2 16:35:53

可以先试一下别人的代码合不合适自己然后你在说别人,别人写出来的代码也要时间应该先谢谢别人不合适在说

jumzhou 发表于 2009-11-2 17:10:26

楼上几位误会了,我的意思是,au3的代码好像很繁杂
因为习惯了批处理里直接用for语句就能获取目录下exe的文件名,所以才会觉得au3的代码很多
有不敬之处,望体谅

kn007 发表于 2009-11-2 22:01:58

写多几行有问题?汇编更长。。。
而且这样也不错嘛。。。
你自己精简下源码就行,我写这样,主要是想满足你可以更好的更改。。。

netegg 发表于 2009-11-2 22:41:58

$aFile = _FileListToArray($path, ".exe")
select
    case _ArrayFindAll($aFile, "a.exe") <> -1
            run(a.exe)
    case _ArrayFindAll($aFile, "b.exe") <> -1
          run(b.exe)
endselect
页: [1]
查看完整版本: run如何运行指定目录下的某个EXE文件?