无法使用* .bat文件启动* .exe,但如果命令直接从CMD运行,它将启动

时间:2014-11-16 18:03:44

标签: windows batch-file cmd exe

我有一个脚本关闭一个名为ncat.exe的进程,然后重新打开它,或者至少这是我想要它做的,但是当我运行.bat文件时它似乎不起作用。以下是该脚本的一部分:

TASKKILL /F /IM ncat.exe* /T >nul 2>nul
ping localhost -n 3 >nul
regedit /S c:\ncatprintingPuttyDefaults.reg
cd c:\
ncat_lpt1.exe
timeout /t 10 /nobreak >nul

这些不在此脚本中的ncat_lpt1.exe开始:

@ECHO OFF
cd c:\Program Files (x86)\Ncat
ncat.exe -l -k -p 5964 > lpt1

这是有趣的,如果我去cmd并手动输入

cd c:\
ncat_lpt1.exe

它立即运行没问题。因此,如果通过bat文件完成不会工作,但手动它会。心灵吹气......

帮助?让我知道如果需要任何其他细节,我尽力解释,尽可能:)

1 个答案:

答案 0 :(得分:1)

TASKKILL /F /IM ncat.exe* /T >nul 2>nul
ping localhost -n 3 >nul
regedit /S c:\ncatprintingPuttyDefaults.reg
cd c:\
CALL ncat_lpt1.BAT
timeout /t 10 /nobreak >nul

C:\ncat_lpt1.exe的名称更改为ncat_lpt1.bat

(来自提示,ren C:\ncat_lpt1.exe ncat_lpt1.bat

@ECHO OFF
cd c:\Program Files (x86)\Ncat
ncat.exe -l -k -p 5964 > lpt1

Windows使用文件名的扩展名来确定如何运行该文件。您不能简单地命名具有.exe扩展名的批处理文件来执行它 - 它需要.bat扩展名。