Programming Field

DOS コマンド一覧

Replace

対象のディレクトリにあるファイルすべてを指定したファイルで一括して置き換えます。または、指定したファイルを対象のディレクトリに追加します。

構文

replace[.exe] <source-file> <target-path> /A [/P] [/R] [/W]
replace[.exe] <source-file> <target-path> [/S | /U] [/P] [/R] [/W]
<source-file>
置き換え元のファイルを指定します。ワイルドカードも指定できます。
<target-path>
置き換え先のディレクトリを指定します。
/A
指定したファイル(<source-file>)が対象のディレクトリ(<target-path>)に存在しない場合、それを追加します。サブディレクトリには追加しません。
/S
指定したファイル(<source-file>)と一致するファイル名が対象のディレクトリ(<target-path>)にある場合、それらを置き換えます。サブディレクトリも対象となります。
/U
/S と同様ですが、置き換え対象となるファイルが古い場合のみ置き換えをします。/S と /U を同時に指定しても、/U のみ指定しても同じ動作をします。
/P
ファイルの置き換えや追加を行う際、確認のプロンプトを表示します。
/R
読み取り専用(書き込み禁止)ファイルも置き換え/追加対象とします。
/W
<source-file>の検索を開始する前にディスクの挿入を待ちます。この状態のとき、Enterを押すと検索を開始します。

解説

このコマンドは、隠しファイルやシステムファイルの属性を持つファイルの更新をすることはできません。必要に応じてAttribコマンドを使って属性を解除してから行ってください。

Replace.exeは特有の終了コードを返します。終了コードの意味は以下の通りです。

0コマンドは正常に終了しました。
1このコマンドはOSと互換性がありません。
2送り元ファイル(<source-file>)が見つかりませんでした。
3このコマンドはOSと互換性がありません。
5置き換え対象のファイルに対する書き込み権限がありません。([Windows NT] ファイルのセキュリティ設定に起因する書き込み権限の不足の場合、このエラーコードは返されません。)
8メモリが不足しています。
11コマンドの書式が間違っています。

replace D:\*.log E:\logs /U

「D:\」にある拡張子が「log」であるファイルのうち、同じファイル名を持つファイルが「E:\logs」ディレクトリにある場合、それらをコピー(置き換え)します。この際、同じファイル名が「E:\logs」に存在する場合、ファイルの日付(更新日時)がそのディレクトリ内のファイルより古い場合は置き換えません。