sex123 发表于 2014-7-12 16:46:13

问一个关于run和comspec的问题


Run(@ComSpec & " /c " & 'cd /d ' & @ScriptDir & ' &start 加入上传的文件.exe', "", @SW_HIDE)

一直不明白,为什么这么写,这么写不行吗?都是同一目录下的,为什么这么复杂呢?

Run(加入上传的文件.exe)

sex123 发表于 2014-7-12 16:47:39

%comspec%的值, 指定的第二个命令解释程序;
主要用于命令行使用, 如. Run(@ComSpec & " /k help | more")
这个%comspec%的值是什么意思呢?

sex123 发表于 2014-7-18 12:28:53

顶起,为什么没人帮助呢?

shqf 发表于 2014-7-18 12:58:34

本帖最后由 shqf 于 2014-7-18 13:00 编辑

run函数是运行外部程序的,所以要运行一般外部程序时,当然可以这么写了:Run("加入上传的文件.exe")。
但如果要执行命令行语句(即DOS命令,实际上也是一种程序)时,因DOS命令需在DOS环境中执行,故要写成Run(@ComSpec & " /k help | more")这样,这种样式是专用于执行DOS命令的(@ComSpec指向当前命令行外壳的环境变量,通常因操作系统的不同而可能是 cmd.exe 或 command.exe)。

sex123 发表于 2014-7-18 14:12:04

这么说
Run(@ComSpec & " /k help | more")
是不是相当于运行cmd.exe后
在dos下运行help.exe?
那里面的
/k 是干什么的呢?

shqf 发表于 2014-7-18 14:50:03

对,/k是cmd.exe的一个运行参数,XP下,运行cmd.exe ,再运行cmd /?,你会看到帮助里的说明。常用 的还有/c,区别是加/k,dos命令运行后不关闭命令窗口。 /c执行dos命令后,原窗口会关闭。

wangms 发表于 2014-7-23 16:33:52

授教 学习啦。。。。。。。。。。。。。。。。。
页: [1]
查看完整版本: 问一个关于run和comspec的问题