2016-07-11 4 views
0

私はいくつかのパラメータを抽出するためにコマンドラインインターフェイスバージョンのMediaInfoを使用しています。他の用途のためにそれらを処理するための数百の小さなビデオチュートリアル。batファイルを使用する特定のタイプのファイルを処理するためにディレクトリからファイルを選択する方法

私はtxtファイルにパイプして、パラメータを収集します.BATファイルを使用して、メモ帳でファイルを開きます

f:\path\mediainfo.exe "--Inform=Video;%%Format%%\r\n%%Duration/String%%" "tutorial.mp4" > out.txt 

sleep 1 

start out.txt 

それが今立っているとして、私は、実際のビデオの名前をカット&ペーストする必要があります私はプログラム的にmediainfoコマンドにそのパラメータを取得する方法がわからないので、バッチファイル(ファイル名は上記のコードでは "tutorial.mp4"です)に挿入します。

ビデオファイルは常に.aviまたは.mp4のいずれかになりますので、batファイルにあるコードを追加する方法がありますそれらの2つのタイプのいずれかであれば、私は今すぐ持っているので、最初の行にファイル名を挿入しますか?サブディレクトリには1つのビデオファイルしか存在せず、.aviまたは.mp4のいずれかになります。リモートで他のファイルタイプがサブディレクトリに存在する可能性があります。このため、「サブディレクトリにあるファイルのみを選択してbatファイルに挿入する」とは言えません。

この線に沿って何かがファイルの先頭に追加された場合、私は思ったんだけど:

IF EXIST *.avi || *.mp4 

しかし、私はそのようにORコマンドを使用することができますし、私は方法がわからない場合は、私にはわかりません変数にファイル名を割り当てて、それがどのようにWindowsでのiniファイルをリストアップ作業を参照するには..... mediainfo.exeラインに

答えて

2

をその変数を使用する方法(対話的にあなたがバッチで%%A%Aを使用していないNBに)。以下に貼り付けてください。

for %A in (%windir%\*.ini) do Echo %~tA %~aA %A 

for /?を参照してください。

NBこの行は何もしません。sleep 1Waitfor,timeout、またはchoiceを使用してください。それぞれのヘルプ - waitfor /?などを参照してください。

+0

ありがとう、@Noodles。これは私のために働く。私はf:\ path \ mediainfo.exe ...コマンドをエコーの代わりにforコマンドの最後に追加するだけです。私はSLEEPコマンドが必要でした。なぜなら、私が昨晩このスクリプトを実行していたときに、出力ファイルが瞬時に生成されていなかったからです。その遅延を追加すると、作成してメモ帳で開く時間がありました。私のCPUは、実行中のバックグラウンド・プログラムのいくつかによって打ち負かされていたと思います。ファイルは今朝瞬時に開かれています。 – gregm

+0

スリープコマンドはありません。 –

関連する問題