2017-04-22 5 views
0

Windowsのコマンドラインを使用して異なるプロセスで生成する必要がある実行可能ファイルがあります。私はテキストファイルである "連結日付とプロセス番号"出力ファイルを変更したいと思います。実行ファイルの複数のインスタンスを実行し、コマンドラインで出力ファイル名を変更する

インスタンスは計算的に集中しているので、時間がかかります。スクリプトを各プロセスで待機させ、そのプロセスで出力ファイルの名前を変更できますか?ここで

は私がやったことですが、私はあなたが次のことを達成したいと考えてい

@ECHO OFF 
set progPath=%cd% 
cd %progPath% 

set nprs=3 

for /l %%x in (1, 1, %nprs%) do (start execMCS.exe ren output.txt output%nprs%.txt); 
+1

私は完全に理解していないと思いますが、おそらくexecMCSを実行する2番目のcmdファイルを作成して名前を変更することができます。次に、最初のcmdファイルは、インスタンスごとに2番目のcmdファイルを実行します。 – user34660

答えて

0

を動作していないよう:

@echo off 
cd /D "D:\working_directory" 
set "nprs=3" 
for /L %%x in (1,1,%nprs%) do (
    start "" cmd /C "execMCS.exe" ^& ren "output.txt" "output%%x.txt" 
) 

startは、アプリケーションを起動するので、あなた複数のものを記述することはできません。また、cmdの内部コマンドも指定できません。ただし、新しいcmdインスタンスを開始し、アプリケーションと内部コマンド(ren)の両方を実行し、cmd - 内部&演算子で連結します。

実行ファイルの名前ではなく、絶対パスを指定することができます。

変数%CD%に格納されているディレクトリに変更するのは意味がありません。これは既に現在の作業ディレクトリであるためです。そのため、私はcdコマンドラインを変更しました。

関連する問題