启动cmd并运行命令无法正常工作。

3

我正在编写一个脚本或批处理文件(或两者的组合),它导入Outlook prf文件,然后启动一个特定程序,当传递服务器集群名称时,会在先前创建的Outlook配置文件中拉取Outlook数据文件。因此,我有一个vbs脚本,检查Outlook配置文件是否存在,如果不存在,则导入prf。这工作得很好,现在我需要的程序叫做addiman.exe,服务器集群名称是gsiapp...手动方法是我启动一个cmd窗口并输入"addiman gsiapp",我希望通过调用名为:Filesite的例程进行自动化,下面的命令尝试失败了,它启动了一个新的cmd.exe窗口,但没有运行该命令。

:ImportPRf

call cscript \\gsf1\Apps\Scripts\public\deployprf.vbs

GOTO :FileSite

:FileSite

start cmd.exe /c "c:\program files\interwoven\worksite\addiman.exe" GSIAPP

GOTO :EXIT

:Exit
Exit

首先,批处理按顺序读取文件,因此GOTO:filesite和:filesite被视为索引,因此它可以在没有:filesite部分的情况下运行。Call不是用于启动Cscript文件的,而是用于调用另一个批处理文件。因此,您可以将其替换为start。最好坚持使用VBS或Batch中的一种。 - CMS_95
尝试执行CMD "文件路径"命令提示符自动启动一个新的CMD窗口,当cmd作为命令传递时。 - CMS_95
3个回答

1
start cmd.exe /c "c:\program files\interwoven\worksite\addiman.exe GSIAPP"

尝试这个,因为cmd.exe将""之间的部分解释为命令并忽略GSIAPP语句。


0

猜测一下。在“开始”之前尝试添加另一个调用 - 就像这样

:FileSite

call start cmd.exe /c "c:\program files\interwoven\worksite\addiman.exe" GSIAPP

谢谢您的建议,不幸的是它没有起作用 :( - Percy Konce
我稍微仔细地看了一下,发现 /c 导致命令提示符关闭,无法看到它,我使用了 /k,现在知道发生了什么,但不知道正确的语法,start cmd.exe 可以工作,但在新窗口的顶部读取..."'c:\Proram' 不是内部或外部命令,可操作的程序或批处理文件。因此,它没有看到完整路径到 addiman.exe 程序周围的引号。有什么建议吗? - Percy Konce

0
问题已解决,不需要完整路径,只需添加 "addiman GSIAPP" 即可。感谢所有提供建议的人。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接