3

テキストをコンソール アプリケーションに渡すバッチ ファイルを作成しようとしています。この場合、大きな .dat ファイルを指定された開始/停止時刻と日付にトリムする exe です。カットを開始するには、ファイル名、開始、停止、および ay(es) 応答が必要です。以下のスクリプトは機能しますが、最後の "y" 応答を送信した後、.exe はカットを開始しようとせずに終了します。

何が間違っているのか誰にもわかりますか?ping の遅延、一時停止、/wait を試してみましたが、すべて同じ効果が得られました。

@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%
4

1 に答える 1

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"

このコードが機能する保証はありません。私は推測しています。しかし、うまくいけば、あなたはアイデアを得るでしょう。

于 2013-08-14T20:23:09.397 に答える