如何静默执行Cmd.exe?


23

我在Windows XP的“运行”对话框中使用以下代码。

cmd /c "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe"

您可以将程序路径替换为系统上安装的任何程序。问题是Photoshop启动,但cmd.exe窗口仍然保留。我不想将cmd.exe文件弹出。是否可以通过cmd启动程序而无需打开cmd.exe窗口?我需要cmd默默工作。顺便说一句,我需要一个程序的代码。因此,我需要通过cmd启动程序,但不会弹出cmd.exe窗口。

进一步的评论

因为我将在程序中使用该代码。程序可以启动cmd exe。但是问题是我们不知道安装了哪个版本的Photoshop。因此它可以是Photoshop CS4或Photoshop CS5。通常,当您在“运行”中键入以下代码时,无论安装了哪种,都可以使用Photoshop。

photoshop

所以我想用这种方法启动Photoshop。程序会将cmd初始化为“在上方运行”,但如下所示:

cmd /c photoshop

但这行不通。甚至cmd窗口也出现了。我想让流程静默运行。另外,我们不应该安装任何其他工具。我想要一个可以在默认Windows上运行的解决方案。


6
如果不想一开始就使用CMD,为什么要使用cmd.exe而不是直接启动Photoshop?
CarlF 2010年

尝试cmd.exe / q / c [命令]
qroberts 2010年

不,那是行不通的。你试一下!另外,如果有任何命令,它将是/ q / c命令。cmd / q / c“ c:\ program files \ microsoft office \ office11 \ winword.exe”注意,命令窗口弹出。他不想那样。如果您尝试过,那您一定会知道的!!
barlop

3
无需为此烦恼。同样,发问者是女性,而不是男性。
qroberts

1
CMDOW应该这样做。
CGA

Answers:


22

问题是命令提示符(cmd)无法终止-它停留在屏幕上,等待Photoshop终止。

要在bat文件中启动Photoshop并使批处理文件继续运行并终止,请使用start命令,它会在一个单独的窗口中启动指定的程序或命令。

例如:

start "" "C:\Program Files\Adobe\Adobe Photoshop CS4\Photoshop.exe"

3
启动命令不是从命令窗口运行吗?在这种情况下,将弹出一个命令窗口。我认为一旦进入cmd.exe,它的唯一好处就是它可以让您选择是否要最小化或最大化它。但是,如果他根本不希望这样做,那将有什么帮助?而且,如果使用从cmd.exe启动,那么他也可以只键入程序的路径而不启动。
barlop

@barlop:如果不启动,脚本将被冻结,直到程序终止。通过启动,脚本可以终止并消失。
harrymc

出于兴趣,该脚本是什么意思..您是说它们正在开始blah.vbs“ c:\ .... \ photoshop.exe”吗?并启动blah.vbs(脚本文件)吗?
barlop

@barlop:我只是说古老而真实的蝙蝠文件,我认为这是海报使用的文件。我改变了脚本->蝙蝠文件。
harrymc

5

HSTART http://www.ntwind.com/software/utilities/hstart.html

你可以做

  • 开始运行
  • c:\hstart\hstart.exe /NOCONSOLE "cmd /c "c:\program files\microsoft office\office11\winword.exe""

或创建一个图标。

有些人使用它来运行bat文件..(其他人是通过vbs来运行的,cmd.exe也可以使用vbs运行它并隐藏命令窗口)..但是您可以使用hstart

不过,我确实会回显其他人,因为由于您正在运行EXE,因此如果您启动..run..pathofexe或为其创建图标,则不会启动命令提示符。那么,为什么要从cmd.exe启动它?

另外,请注意..在dos和Windows中,您在目录路径中使用反斜杠。正斜杠用于unix或linux中的URL或目录路径。


你知道hstart在做什么吗?如何隐藏创建的窗口?
罗斯·罗杰斯

1
@RossRogers我不知道,但也许API Monitor会告诉您apimonitor.com ,而且,vbscript也可以隐藏一个窗口。 superuser.com/questions/62525/run-a-completly-hidden-batch-file ,其中提到了一个名为Quiet的程序,该程序来自本网站joeware.net joeware.net/freetools/tools/quiet/index.htm ,其中提到了他的程序使用ShellExecuteEx来执行此操作。
barlop

3

最好的选择是询问您要做什么。如果您需要程序的“代码”,为什么不使用Shell execute?

而且我无法想象有什么合法的工作流程需要调用命令行,而命令行又会运行可执行文件。


3

您可以使用一个名为Quiet的工具来完成此任务。只需将您的.exe或.bat文件作为参数传递给它。为此,只需在桌面上创建cmd命令提示符的快捷方式。然后获取您所创建的命令提示符快捷方式的属性。然后,在“快捷方式”选项卡中,像这样填写“目标”字段:

[pathToQuiet.exe] [pathToThe(.exe)/(.bat)file]

如果双击快捷方式,您的过程将启动,您可以通过任务管理器中的过程列表进行检查。

请注意,Quiet.exe和.exe或.bat文件的路径中都不应有空格。


Quiet似乎可以在Windows NT和XP上运行。关于Windows 10没说什么。您认为在Windows 10上使用它可能安全吗?
Henrik

@Henrik你是什么意思“安全”?它不会破坏它。尝试没有害处!
barlop

@Henrik我不会造成任何伤害,请尝试。
Mostafa

2
cmd /c "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe" %*

•可执行文件的[路径] \名称。
•脚本所需的所有其他参数(%*)-仅在后台执行exe。


这行不通。它给出错误消息“系统找不到文件%*”
DavidPostill

没有%*部分的作品。
Jin Kwon


0

为什么不使用这个?

cmd /c start "C://Program Files/Adobe/Adobe Photoshop CS4/Photoshop.exe exit"

1
您能否更详细地解释这个答案?
bwDraco

在尝试了所有其他方法之后,只有这样做有所帮助。谢谢。#include <windows.h> int main() { system("cmd /c start C:/WINDOWS/system32/notepad.exe"); }
詹姆斯·科斯

-2

我终于想出了一种方法,至少在Windows 10中,该方法似乎是在试图寻找解决方案的快捷方式中隐藏/关闭cmd窗口。这是我使用另一个域登录名通过runas打开Active Directory用户和计算机的方法。

runas.exe / savecred / user:domain \ username“ cmd / c start mmc C:\ Windows \ System32 \ dsa.msc”

也许“ cmd / c start”是一个简单的解决方案...


为什么提到Windows10。用户使用的是Windows XP。您至少已验证了此功能在Windows XP上是否可以运行吗?
Ramhound
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.