我一直在尝试创建一个将文本传递给控制台应用程序的批处理文件。在这种情况下,它是一个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%
答案 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"
无法保证此代码能够正常运行。我猜。但希望你明白了。