Windows批处理文件+控制台exe

时间:2012-12-06 14:00:26

标签: batch-file console exe

我一直在尝试创建一个将文本传递给控制台应用程序的批处理文件。在这种情况下,它是一个exe文件,它将一个大的.dat文件修剪为指定的开始/停止时间和日期。它期望文件名,开始,停止和y(es)响应开始削减。下面的脚本有效,但在提交最终的“y”响应后,.exe终止,甚至没有尝试开始剪切。

任何人都可以看到可能出错的地方吗?尝试ping延迟,暂停,/等待 - 所有效果都相同。

@echo Off

Set program=c:\rtdm_cutter.exe

(
echo 20121126_191613_09224_RTDM.BIN 
echo 2012/11/25 15:00:00
echo 2012/11/25 15:15:00
echo y
) |start /realtime /B /wait %program%

1 个答案:

答案 0 :(得分:0)

我会以不同的方式编写脚本,类似于:

@echo off  
:: script.bat  
SET programx=c:\rtdm_cutter.exe
IF "%1"=="" ( SET one=20121126_191613_09224_RTDM.BIN ) ELSE ( SET one=%1 )
IF "%1"=="" ( SET two=2012/11/25 15:00:00 ) ELSE ( SET one=%2 )
IF "%1"=="" ( SET thr=2012/11/25 15:15:00 ) ELSE ( SET one=%3 )
IF "%1"=="" ( SET answer=Y ) ELSE ( SET answer=%4 )
IF "%4"=="" ECHO %answer% | start /realtime /B /wait %programx% %one% %two% %thr%
IF "%4"=="" GOTO :END    
ECHO %answer% | cmd.exe /C %programx% %1 %2 %3    
:END
pause

然后,像这样调用它(例如):

CALL .\script.bat blah.BIN "2012/11/25 15:00:00" "" "Y"

无法保证此代码能够正常运行。我猜。但希望你明白了。