我想制作这种批处理文件
@ECHO OFF
(
IF "pulsar.exe" exist (
taskkill /f /im "pulsar.exe"
)
ELSE (
run "C:\Program Files (x86)\XBMC\XBMC.exe"
)
)
我希望XBMC能够运行scipt auto
答案 0 :(得分:0)
@ECHO OFF
IF exist "pulsar.exe" (
taskkill /f /im "pulsar.exe"
) ELSE (
"C:\Program Files (x86)\XBMC\XBMC.exe"
)
这是您的代码的语法上有效的版本。
您没有说出您尝试解决的问题,因此您收到的评论是正确的。
此例程检查文件是否存在"pulsar.exe"
(注意:if exist filename
)
如果文件存在,则终止pulsar.exe任务。
如果文件不存在,则执行xbmc.exe
请注意,括号的定位至关重要。不需要围绕整个过程的整个()
集。该结构可用于将过程的输出重定向到文件 - 但您显然没有输出任何内容。
if
及其匹配的(
必须位于同一条物理线上(您还可以)。
如果使用,else and its matching
(`必须在同一条物理线上(你没那么好)。
如果使用,)
关闭if
和else
必须位于同一物理线路上。
参与(
的每个if...else
必须以空格开头,每个)
参与者必须以空格或换行符继续。
您需要调用可执行文件的所有内容都是使用其名称。如果可执行文件是批处理文件,则需要call executablename parameters
否则控制传输到调用的批处理。
批处理将等到.exe终止后再继续。您可以使用start "windowtitle" executablename parameters
创建独立流程并继续批处理。 "windowtitle"
名义上是可选的,但最好包括在内 - 甚至留空(即""
)以避免混淆cmd
。
答案 1 :(得分:0)
我做到了
@ECHO OFF
IF exist "pulsar.exe" == tasklist /fi "imagename eq pulsar.exe"
( taskkill /f /im "pulsar.exe"
)
If not exist "pulsar.exe" == tasklist /fi "imagename eq pulsar.exe"
("C:\Program Files (x86)\XBMC\XBMC.exe"
)