imutraveler 发表于 2014-12-14 12:22:25

批处理调用自己写的exe,带路径就运行失败(已解决)

本帖最后由 imutraveler 于 2016-9-27 11:08 编辑

自己写了个小程序,运行没问题,但是用批处理调用好像 是存在 路径问题!Dim $i = 1
Dim $Dir = IniRead( "config.ini" , "Config" , "VDPath" , "" )
Dim $File = $Dir & ":\" & IniRead( "config.ini" , "Config" , "File" , "" )
Dim $Server = IniRead( "config.ini" , "Config" , "Server" , "" )
Dim $Timer = IniRead( "config.ini" , "Config" , "Timer" , "" )

For $i = 1 To $Timer
        If FileExists($File) Then
                Run($File & " " & $Server)
                ExitLoop
        Else
                Sleep(2000)
        EndIf
Next配置文件内容是:

VDPath=V
File=特权游戏\云宝客户端\YunBoxDeskCliSvr.exe
Server=192.168.0.240
Timer=5

最后一步执行时的程序就是V:\特权游戏\云宝客户端\YunBoxDeskCliSvr.exe 192.168.0.240

手动双击运行没问题,用批处理start带路径调用,不成功,先cd到路径下,start 程序就没有问题

就是start c:\123\123.exe 程序不运行,cd c:\123   start 123.exe 就运行正常!(123.exe是我的程序)

实在不知道是为什么!必须先cd到目录,为什么呢?

user3000 发表于 2014-12-14 12:32:21

回复 1# imutraveler

请查看下发提问帖规则?然后重新编辑下提问标题!

imutraveler 发表于 2014-12-14 12:41:03

回复 2# user3000


    修改了!!!

user3000 发表于 2014-12-14 12:55:41

本帖最后由 user3000 于 2014-12-14 12:57 编辑

回复 3# imutraveler

RUN 第2个参数可以指定程序的工作目录的.$Dir = StringRegExpReplace($File, '[^\\]+$','')
Run($File & " " & $Server, $Dir)Timer 是做什么?
1楼代码的循环只会执行一次程序就退出了,毫无意义

配置文件这样不更好吗?

VDPath=V:\特权游戏\云宝客户端
File=YunBoxDeskCliSvr.exe
Server=192.168.0.240
Timer=5

austere 发表于 2014-12-15 12:59:35

start "c:\123\123.exe"

scared1 发表于 2014-12-16 01:55:48

config.ini没有指定路径,所以会默认为当前路径,所以用start+路径会找不到config.ini吧?

nqawen 发表于 2015-1-1 09:01:59

我来学习了,

deaph 发表于 2015-1-4 09:33:43

学习了,感谢!

gsyyz 发表于 2015-1-11 13:29:12

也学习了,谢谢各位

wangms 发表于 2015-1-15 13:25:07

学习学习。。。。。。。。。。。。。。。。。。
页: [1]
查看完整版本: 批处理调用自己写的exe,带路径就运行失败(已解决)