2012-02-25 9 views
0

私は何年も複雑な.batファイルを作成していません。は、特定のパラメータを持つ別の.batファイルを作成する.batファイルを作成する必要があります。

私がする必要があるのは、指定された引数を持つプログラムを実行するために使用される別の.batファイルを作成する.batファイルです。例えば

: "引数5" のために

myprogram.exeというARG1 ARG2 ARG3 ARG4のarg 5 "引数5" currenttimedatehourのcurrenttimedatehour + 1時間

の.batファイルが含まれている.BATファイルを作成します - この引数はcurrent_timedateの場合、 の内部になければなりません.YYYY-MM-DD-HHHH形式にする必要があります。EX:2012-02-25-1800 currenttimedatehour + 1hourの場合はYYYY-MM-DD-HHHHにする必要がありますフォーマット:2012-02-25-1900(現時点で+1時間プラス)

私はシンプルを使用しようとしています ECHO myprogram.exe arg1 arg2 arg3 arg4 arg 5 "arg5" currenttimedatehour currenttimedatehour + 1hour> myfile.batそれは "myprogram.exe"を書き込む代わりに実行しようとしているかのように動作します

現在の日付と時刻を見て、必要な書式でフォーマットする方法がわからないので、現在のtimedatehour部分は試行していません。

これは.batファイルで行うことができますか?もしそうなら、誰かが彼らの知識と私がこれをどうやってできるかの例を分かち合うことがとても親切だろうか?あなたはこのような「バッチ・ジェネレータ」(gen.bat)持っている可能性があり

答えて

3

@echo off 

set Y=%date:~10,4% 
set M=%date:~4,2% 
set D=%date:~7,2% 

set /a H=%time:~0,2% 
set /a HplusOne=%H+1 

set curtime=%Y%-%M%-%D%-%H%00 
set curtimePlusOne=%Y%-%M%-%D%-%HplusOne%00 

echo myprogram.exe %1 %2 %3 %4 "%5" %curtime% %curtimePlusOne% > caller.bat 

をそれは5つのパラメータを収集し、「caller.bat」と呼ばれる新しいバッチファイルを生成し、何を保証しなければならないことは場合であります日付と時刻の形式は私のものと同じです(おそらく、年/月/日などを抽出するためにchar位置を編集する面白い部分です)。テスト目的のために、%date%と%time%をエコーし​​て、正確な位置が得られない場合は、正しい位置を取得することができます。

さて、テスター(gentest.bat)を作ってみよう:

@echo off 
gen.bat arg1 arg2 arg3 arg4 arg5 

caller.batでの出力が

myprogram.exeというARG1 ARG2 ARG3 ARG4 "引数5" 2012でなければなりません-02-24-600 2012-02-24-700

私はこのヘルプを願っています

+0

ほとんどの場合、出力ファイルが作成されることはありません。私はそれの終わりに一時停止を追加し、出力ファイルに書き込む必要があるものを正確に表示しますが、ファイルを作成することはありません。あなたの時刻の日付形式は、私が必要としているところにちょうど当てはまりました。それがウィンドウに表示される理由がわからない場合は、ファイルに正しく出力されません。何かご意見は?ありがとう、B – NuckinFutz

+0

さて、出力ファイルを作成しました。それは私のタイプミスでした。私はopeを持っていましたが、私のargsの1つに "終わりではありません"があり、これはファイルを作成しないようにしていました。私はすべてが金色だったと訂正するとすぐに。 ご協力いただきありがとうございます。 私はそれを投票するだろうが、私はここに私の担当者を持っていないので、私をさせません。:-) ありがとうございました B – NuckinFutz

+0

ようこそ! =) –

関連する問題