找回密码
 加入
搜索
查看: 2235|回复: 13

一段RUN DOS 死活不明白错在哪儿了?

 火.. [复制链接]
发表于 2010-1-20 14:47:26 | 显示全部楼层 |阅读模式
本帖最后由 boyhong 于 2010-1-20 19:20 编辑

倔了一下午,下边段DOS究竟错在哪儿了?
旁观者清,希望大家指一下。。感谢
Run(@ComSpec & " /c " &$seppaichu&'\DoScan.exe /cmdlinescan /LOGFILE="'&@HomeDrive&'\sep.log" /scanalldrives', "", @SW_HIDE)

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-1-20 14:56:41 | 显示全部楼层
本帖最后由 顽固不化 于 2010-1-20 14:57 编辑

有时候RUN不太好使~
#include <Process.au3>
_RunDOS ( $seppaichu&'\DoScan.exe /cmdlinescan /LOGFILE="'&@HomeDrive&'\sep.log" /scanalldrives')
 楼主| 发表于 2010-1-20 15:04:23 | 显示全部楼层
有时候RUN不太好使~
顽固不化 发表于 2010-1-20 14:56


我最近发现一个问题。若这个:
$seppaichu="C:\Program Files\Symantec"
这样长的,路径中带空格的,_rundos立马歇菜~~~
愁~~~
发表于 2010-1-20 15:07:02 | 显示全部楼层
_RunDOS ( '"'&$seppaichu&'\DoScan.exe" /cmdlinescan /LOGFILE="'&@HomeDrive&'\sep.log" /scanalldrives')

评分

参与人数 1金钱 +10 收起 理由
boyhong + 10 感谢~~~~~~

查看全部评分

 楼主| 发表于 2010-1-20 15:14:27 | 显示全部楼层
顽固不化 发表于 2010-1-20 15:07


谢谢顽固,依然不能运行。我在CMD下。先CD到那个目录,这个命令是可以运行的。。
奇怪~~
发表于 2010-1-20 15:20:37 | 显示全部楼层
Run(@ComSpec & " /c " &$seppaichu&'\DoScan.exe /cmdlinescan /LOGFILE="'&@HomeDrive&'\sep.log" /scanalldrives', $seppaichu, @SW_HIDE)
发表于 2010-1-20 15:26:51 | 显示全部楼层
我猜的,不知道行不。。

评分

参与人数 1金钱 +10 收起 理由
boyhong + 10 感谢您热心的帮助。稍候我试试。

查看全部评分

发表于 2010-1-20 16:07:20 | 显示全部楼层
我最近发现一个问题。若这个:
$seppaichu="C:\Program Files\Symantec"
这样长的,路径中带空格的, ...
boyhong 发表于 2010-1-20 15:04

这样打不开:
Run('cmd /c start "C:\Program Files"', "", @SW_HIDE)
要这样:
Run('cmd /c start "" "C:\Program Files"', "", @SW_HIDE)

请参考:
http://www.autoitx.com/forum.php ... 9838&highlight=

评分

参与人数 1金钱 +10 收起 理由
boyhong + 10 感激您热心的帮助。我稍后试试。

查看全部评分

发表于 2010-1-20 17:55:50 | 显示全部楼层
我怀疑有些软件不支持跨路径调用,即使设置了运行目录。。
所以如果确实发现有这问题的话,可以试试这样做
Run(@ComSpec & ' /c cd "'&$seppaichu&'" & DoScan.exe /cmdlinescan /LOGFILE="'&@HomeDrive&'\sep.log" /scanalldrives', $seppaichu, @SW_HIDE)
当然上面代码还有问题,需要先进入程序所在盘符,所以得先根据$seppaichu解析出盘符来,在上面代码中的CD 前加上并用&符号链接之。。。

评分

参与人数 1金钱 +10 贡献 +2 收起 理由
boyhong + 10 + 2 经过测试,完美运行。感谢不尽。

查看全部评分

 楼主| 发表于 2010-1-20 19:29:44 | 显示全部楼层
9楼正解。可是真是奇怪。按道理咱们在C:\WINDOWS 下输入  cd  D:\Program Files 然后光标应还在C:\WINDOWS 下,还得:  d: 一下,才真正切换到D:\Program Files 下。
可是本例,按9楼操作。不用做这个切换。即已成功执行。
发表于 2010-1-20 20:37:52 | 显示全部楼层
实际是个当前工作目录切换问题,运行前使用FileChangeDir()改一下当前目录便可。
如:
FileChangeDir($seppaichu)
 楼主| 发表于 2010-1-20 21:07:27 | 显示全部楼层
实际是个当前工作目录切换问题,运行前使用FileChangeDir()改一下当前目录便可。
如:
FileChangeDir($se ...
顽固不化 发表于 2010-1-20 20:37

这个我早先就试过,无效的。不知道怎么回事~~~
发表于 2010-1-20 23:08:09 | 显示全部楼层
回复 3# boyhong

从DOS的角度看,可以用c:\Progra~1\Symantec试试看。

另外,这个变量用来排除sep的安装目录。。。。。。这个是啥脚本啊
发表于 2010-1-30 13:30:57 | 显示全部楼层
研究一下。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-7-1 10:48 , Processed in 0.096893 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表