批处理调用自己写的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到目录,为什么呢? 回复 1# imutraveler
请查看下发提问帖规则?然后重新编辑下提问标题! 回复 2# user3000
修改了!!! 本帖最后由 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 start "c:\123\123.exe" config.ini没有指定路径,所以会默认为当前路径,所以用start+路径会找不到config.ini吧? 我来学习了, 学习了,感谢! 也学习了,谢谢各位 学习学习。。。。。。。。。。。。。。。。。。
页:
[1]