HIR-NETソフト
ソフト一覧
パック商品
価格表
取扱店
Q&A
ダウンロード
無料バージョンアップ
ユーザー登録変更
HIR-NET Home
運営者
運営者著書
CG作品
快適パソコン操作術
パソコン情報リンク集
HIR-NETソフト 32bitコマンド・シリーズ
repリプレイス 第1.26版
ファイル内容置換コマンド
file replace command
対象OS:32bit Windows(Windows 95/98/Me/NT/2000/XP など)
★2010年9月9日更新★(実際に置換が試せます)
サンプル無料ダウンロード rep.lzh(75Kバイト)
| |
|
概要
引数
解説
注意
作業用一時ファイル
ファイルとディレクトリの指定方法
改行の判断
バイナリ検出
設定ファイル
使用例
関連
repコマンド(ファイル内容置換コマンド)は旧文字列と新文字列を指定し、複数のファイルの内容を置換する 32bit Windows(Windows 95/98/Me/NT/2000/XP など)用ソフトウェアです。
ファイル名にワイルドカードが使えますから、一度に複数のファイルの置換が出来ます。ファイルの内容を一律に変えたい場合などは、エディタで一つ一つ手作業で置換修正しなければなりませんが、repコマンドを使えば一瞬にして処理できます。
ファイル名の他、置換文字列にもワイルドカードが使えます。また、ワイルドカードでない置換も出来ますから、記号を含んだ文字列の検索も簡単です。
サブディレクトリ処理はもちろん、処理するファイルをディレクトリ, 識別子, 属性, 日付, サイズ等によって対象外にしたり限定したり出来ます。
文字列の置換をしても、ファイルの日付を変更しないようにも出来ます。保存用のファイルなど日付が重要な場合にも対応します。もちろん、日付を更新させることも出来ます。
改行コードは、0A, 0D, 0D0A に対応しています。バイナリ・ファイルを破壊しないように、バイナリ検出機能や特定の拡張子のファイルの処理を抑止する機能があります。書込禁止ファイルの処理を可能にすることも出来ます。
ログ・ファイル出力機能がありますから、実行終了後に処理経過を確認でき、大量のファイルを処理した時も安心です。
設定ファイル(ファイル名 rep.cfg のテキスト・ファイル)により、repコマンドのオプション設定の登録が可能です。
rep □ 元文字列 □ 新文字列[△ オプション群]□ ファイル名…
/d ;[ON ] サブディレクトリ処理モード subDirectory
/d- ;[OFF](既定)
/tm ;[OFF] ファイル書込日時更新モード TiMe
/tm- ;[ON ](既定)
/o ;[ON ] 書込禁止ファイル処理モード read Only
/o- ;[OFF](既定)
; /oオプションを指定すると、設定されていた /sarオプションは自動削除。
/bin ;[OFF] バイナリ検出モード BINary
/bin- ;[ON ](既定)
/nl ;[ON ] 異種改行コード検出モード NewLine
/nl- ;[OFF](既定)
/c ;[ON ] 置換失敗時続行モード Continue
/c- ;[OFF](既定)
/w ;[ON ] ワイルドカード文字列モード Wildcard
/w- ;[OFF ](既定)
/wh ;[先頭一致](/w/h と同じ) Wildcard Head
/wt ;[末尾一致](/w/t と同じ) Wildcard Tail
/wht ;[両端一致](/w/h/t, /wht と同じ) Wildcard Head Tail
/wth ;[両端一致](/w/t/h, /wth と同じ) Wildcard Tail Head
/h ;[先頭一致] 置換文字列先頭一致モード Head
/ht ;[両端一致](/h/t, /th と同じ) Head Tail
/h- ;[OFF ](既定)
/t ;[末尾一致] 置換文字列末尾一致モード Tail
/th ;[両端一致](/t/h, /ht と同じ) Tail Head
/t- ;[OFF ](既定)
/case ;[ON ] 文字列置換半角英大小文字同一視モード CASE
/case- ;[OFF](既定)
/fcase ;[OFF] ファイル名半角英大小文字同一視モード File CASE
/fcase- ;[ON ](既定)
;引数のファイル名のみに作用し、以下のオプションには作用しない。
/sh[<e>[,<e>...]] ;置換対象外先頭一致パス Skip Head path
/sH[<e>[,<e>...]] ;置換対象外先頭一致パス(大小区別)
/st[<e>[,<e>...]] ;置換対象外末尾一致パス Skip Tail path
/sT[<e>[,<e>...]] ;置換対象外末尾一致パス(大小区別)
/sp[<e>[,<e>...]] ;置換対象外パス Skip Path
/sP[<e>[,<e>...]] ;置換対象外パス(大小区別)
/sd[<e>[,<e>...]] ;置換対象外ディレクトリ名 Skip Directory
/sD[<e>[,<e>...]] ;置換対象外ディレクトリ名(大小区別)
/sf[<e>[,<e>...]] ;置換対象外ファイル名 Skip File
/sF[<e>[,<e>...]] ;置換対象外ファイル名(大小区別)
/se[<e>[,<e>...]] ;置換対象外拡張子 Skip Extension
/sE[<e>[,<e>...]] ;置換対象外拡張子(大小区別)
/sa[<a>[,<a>...]] ;置換対象外属性 Skip Attribute
/sA[<a>[,<a>...]] ;置換対象外属性(完全一致)
/lh[<e>[,<e>...]] ;置換限定先頭一致パス Limit Head path
/lH[<e>[,<e>...]] ;置換限定先頭一致パス(大小区別)
/lt[<e>[,<e>...]] ;置換限定末尾一致パス Limit Tail path ※ファイルのみ
/lT[<e>[,<e>...]] ;置換限定末尾一致パス(大小区別) ※ファイルのみ
/lp[<e>[,<e>...]] ;置換限定パス Limit Path
/lP[<e>[,<e>...]] ;置換限定パス(大小区別)
/ld[<e>[,<e>...]] ;置換限定ディレクトリ名 Limit Directory
/lD[<e>[,<e>...]] ;置換限定ディレクトリ名(大小区別)
/lf[<e>[,<e>...]] ;置換限定ファイル名 Limit File
/lF[<e>[,<e>...]] ;置換限定ファイル名(大小区別)
/le[<e>[,<e>...]] ;置換限定拡張子 Limit Extension
/lE[<e>[,<e>...]] ;置換限定拡張子(大小区別)
/la[<a>[,<a>...]] ;置換限定属性 Limit Attribute
/lA[<a>[,<a>...]] ;置換限定属性(完全一致)
/ls[開始サイズ][-[終了サイズ]] ;置換限定サイズ Limit Size
;サイズはバイト値を実数で指定。倍数単位 K, M, G が使用可能。
; K(キロ)=1024, M(メガ)=1024*1024, G(ギガ)=1024*1024*1024
/lydc[開始日時][-[終了日時]] ;置換限定DIR生成日時 Limit Year Directory Create
/lydw[開始日時][-[終了日時]] ;置換限定DIR書込日時 Limit Year Directory Write
/lydr[開始日時][-[終了日時]] ;置換限定DIR読出日時 Limit Year Directory Read
/lyd[開始日時][-[終了日時]] ; /lydw の場合と同じ
/lyc[開始日時][-[終了日時]] ;置換限定ファイル生成日時 Limit Year Create
/lyw[開始日時][-[終了日時]] ;置換限定ファイル書込日時 Limit Year Write
/lyr[開始日時][-[終了日時]] ;置換限定ファイル読出日時 Limit Year Read
/ly[開始日時][-[終了日時]] ; /lyw の場合と同じ
;日時は YYYY[MM[DD[HH[MM[SS]]]]] の形式
;/s〜オプションは OR結合で対象外にする。
;/l〜オプションは AND結合で限定する。同一オプション内は OR結合で限定。
;限定よりも対象外オプションが優先。
;/sd,sD,ld,lD,lyd〜オプションは、ディレクトリのみに作用。
;/sf,sF,se,sE,lf,lF,le,lE,lt,lT,ls,ly〜オプションはファイルのみに作用。
;/s〜,l〜オプションを無効にするには、<e>, <a>, 日時なしで指定。
;<e>は要素(element)で、ファイル名, ディレクトリ名, パス名, 拡張子。
;<e>はワイルドカードも可能(/lh,lH,lt,lT,lp,lP では末尾のみ)。
;先頭末尾一致は \ や : を区切りに比較。
;<a>は属性で、次の文字の組み合わせで指定。
; d:ディレクトリ属性 Directory attribute
; r:読出専用属性 Read only attribute/w:書込可属性 Write attribute
; h:隠しファイル属性(不可視ファイル属性) Hidden file attribute
; s:システムファイル属性 System file attribute
; a:未保管属性 Archive attribute
/v[<m>][<e>...][<m>[<e>...]...] ;表示設定 Verbose
<m>=+ ;付加 plus
- ;削除 minus (省略時)
= ;強制設定 equal
<e>=a ;すべて All
k ;置換対象外ファイル名表示 sKip
e ;置換不能ファイル名表示 Error
f ;終了合計表示 Finish
/v ;[標準](既定) (/v=ef と同じ)
/time[<n>];処理時間表示開始秒数 TIME
;<n>は整数、負値で表示なし、既定 /time300
/log<file> ;[ON ] ログ・ファイル出力モード LOG file
/LOG<file> ;[追加]
/log ;[OFF ](既定)
;<file>はログ・ファイルのファイル名
/test ;[ON ] 試験モード(表示のみ、置換せず) TEST
/test- ;[OFF](既定)
/suspend ;[OFF] システム休止抑制モード SUSPEND
/suspend- ;[ON ](既定)
/p ;[ON ] 画面一時停止モード Pause
/p- ;[OFF](既定)
/l<n>[<u>] ;[任意値] 1行のバイト数 Line
/l ;[200KB ](既定)
;<n>は実数で 10Kバイト以上、<u>は倍数単位で K, M, G の何れか
/sort ;[OFF] ファイル名ソート・モード SORT
/sort- ;[ON ](既定)
/?, /help ;使用方法説明(設定ファイルに登録不可) HELP
【終了コード】
0:エラーなし、実行成功
1:エラー発生、実行中断
2:エラー発生、実行継続
- ファイルの中にある文字列を置換するコマンドです。
- 実行すると、処理したファイル名, 置換した総数が表示されます。
- ファイル名は複数指定可能で、ワイルドカード(?, *)も使用できます。
- /wオプションを指定すれば、置換文字列にもワイルドカード(?, *)が使用できます。
? は万能文字で任意の 1バイトの文字と一致します。
* は可変万能文字で任意の 0バイト以上の文字と一致します。
?* は任意の 1バイト以上の文字と一致します。
\, ?, * 自身は \\, \?, \* と記述します。
- /w,/w-オプションとも、空白, タブ, <, >, | を含んだ文字列は"〜"で囲みます。
"自身は \" と記述します。
"〜"内の \ は \\ と記述します。
- BATファイル中で、% を置換する場合は %% と記述します。Windows の BATファイル中では % は引数や環境変数名として使用します。
- <n>を使用するオプションにおいて、<n>の指定がない場合は 0 が指定されたことになります。
- /pオプション(画面一時停止モード[ON])では、実行結果の表示がページ毎されます。
ページの最後の(Continue,/All/Quit)プロンプトに対し、[C]キー(または[Enter]キー)で継続実行, [A]キーで一時停止を解除し全実行, [Q]キー(または[Esc]キー)で実行停止されます。
なお、出力結果をリダイレクトした場合は、一時停止が自動的に解除されます(/pオプションが指定されたことになります)。
- /Lオプションでは末尾に単位として K(キロ), M(メガ), G(ギガ)が付けられます。
K=1024, M=1024*1024, G=1024*1024*1024
- 文字列の置換は、1行に対し、複数回行われます。例えば"caaadae"という行に対し、a を 12 にする置換を行った場合、"c121212d12e"と置換されます。
- ファイルの内容を置換した場合は、元のファイルを書き換えます。
- /tmオプション(ファイル書込日時更新モード[OFF])では、元のファイルを書き換えた場合でもファイル生成日時(creation time)とファイル書込日時(last write time)を保持します。/tm-オプション(ファイル書込日時更新モード[ON])でも、ファイル生成日時だけは保持します。ファイル読出日時(last read time, last access time)は、ファイルの内容を置換しなかったファイルも更新されますので、/tmオプション(ファイル書込日時更新モード[OFF])においても保持されません。
- /Lオプション(1行のバイト数)に 10Kバイト未満を指定した場合は、10Kバイトが指定されたものと解釈されます。
- /Lオプションで指定したバイト数を越えた行を含んだファイルは処理せず、必要なオプション指定を示します(/v+eオプション時)。
- /suspend-オプション(システム休止抑制モード[ON](既定))が指定されていた場合は、OS がシステム・スタンバイ及びシステム休止状態に移行するのを抑制し、置換処理が途中で停止してしまうことを避けることが出来ます。
- ファイルの内容を置換するしないに関わらず、作業用一時ファイル(rep数字列.$$$)をコマンド起動ディレクトリに生成します(\\で始まるファイル名の場合は、ネットワーク・ドライブの最上位ディレクトリに生成)。作業用一時ファイルは実行終了の際に自動的に削除されます。
- /testオプション(試験モード[ON])では、作業用一時ファイルは生成しません。
- プログラムが異常終了した場合は、作業用一時ファイルが残ることがあります。その場合は、元のファイルの内容を確認後、作業用一時ファイルを削除してください。
- ファイル名は複数指定可能で、ワイルドカード(?, *)も使用できます。
- 8.3形式のファイル名(~が付いたファイル名)を指定した場合は、自動的にロングファイル名に変換され処理されます。
- オープン中のファイルは処理しません。
- 引数がワイルドカードの場合は、ワイルドカードに該当するファイルを処理します。
- 引数がワイルドカードでない場合は、ファイルかディレクトリか自動認識し処理します。引数末尾に \ がなくてもディレクトリの場合はディレクトリとして認識し処理します。
- ワイルドカードで処理するディレクトリを指定したい場合は、/lhオプション(処理限定先頭一致パス)にワイルドカードでディレクトリを指定し、さらに /dオプション(サブディレクトリ処理モード[ON])を指定します。例えば、Cドライブの dir1以下のサブディレクトリ abc? を処理する場合は "rep a b /d C:\dir1 /lhC:\dir1\abc?\" とします。なお、"/lhC:\dir1\abc?" ですと C:\dir1直下に abc? に一致するファイルがあった場合、それも処理してしまいます。
- /bin-オプション(バイナリ検出モード[ON](既定))では、文字コード 01〜06, 0E〜1A, 1C〜1F, 7F, FF を検出した場合、バイナリ・ファイルとして認識し、処理を停止します。ただし、1Aコードがファイル末尾にあっても、バイナリ・ファイルとして認識しません。
- /binオプション(バイナリ検出モード[OFF])では、コード1A(CTRL-Z)以降も置換します。
- ファイルの書き換えを行いますから、EXEファイルや画像ファイルなどバイナリ・ファイルを処理してしまうと内容を破壊してしまいます。これを自動的に避けるためには、/bin-オプションを指定してバイナリ検出をしてください。ただし、文字コード 01〜06, 0E〜1A, 1C〜1F, 7F, FF を含まないバイナリ・ファイルは、バイナリ・ファイルとして認識できません。そのため、/seオプションに処理対象外拡張子を指定して、特定の識別子のファイルの処理を自動的に避けるようにしてください。
- 設定ファイル(rep.cfg)はコマンドのオプションなど各種設定を行うテキスト・ファイルです。設定ファイルの内容はテキスト・エディタによって、書き換えることが出来ます。設定ファイルはコマンド起動時にコマンド格納ディレクトリから読み込まれます。設定ファイル名はコマンド・ファイル名に自動追随します。
- スイッチ文字は / の他 - などの追加登録が可能です。
※file.txt, f1 はファイル、d1 はディレクトリ
rep abc 1234 file.txt …… ファイルfile.txt内の"abc"を"1234"に置換
rep def "" file.txt …… ファイルfile.txt内の"def"を削除
rep "Tel>" 電話: *.txt …… "Tel>"を"電話:"に置換
rep 50% 半分 *.txt …… "50%"を"半分"に置換(非BATファイル内)
rep 50%% 半分 *.txt …… "50%"を"半分"に置換(BATファイル内)
rep abc def *.txt …… ファイル*.txt内の"abc"を"def"に置換
rep a b * /tm …… 処理前のファイル書込日時を保持
rep a b * /tm- …… 処理した場合にファイル書込日時を更新《既定》
rep a b * /o …… 書込禁止ファイル処理
rep a b * /bin …… バイナリ検出せず
rep a b * /bin- …… バイナリを検出した場合処理停止《既定》
rep a b * /nl- …… 異種改行コード検出せず《既定》
rep a b * /nl …… 2種類以上の改行コードを検出した場合処理停止
rep a b * /c …… 置換失敗があっても続行
rep a b * /c- …… 置換失敗があったら終了《既定》
rep a b d1\* /d …… ディレクトリd1下の全ファイルを置換
rep a b d1\readme.txt /d …… ディレクトリd1下の全 readme.txtファイルを置換
rep xy*1 ab * …… "xy*1"を"ab"に置換
rep xy*1 ab * /w- …… "xy*1"を"ab"に置換(上と同じ動作)《既定》
rep xy*1 ab * /w …… "xy"〜"1"を"ab"に置換
rep xyz ab * /h …… "xyz"で始まる行の行頭"xyz"を"ab"に置換
rep xyz ab * /t …… "xyz"で終わる行の末尾"xyz"を"ab"に置換
rep xy*1 ab * /wt …… "xy"〜"1"で終わる行の末尾"xy"〜"1"を"ab"に置換
rep xy*1 ab * /wht …… "xy"で始まり、"1"で終わる行を"ab"に置換
rep a b C:\ /d /shC:\d1 …… C:\d1 以下は対象外
rep a b * /d /shC:d1a,c:d1b …… C:d1a と C:d1b 以下は対象外
rep a b C:\ /d /shC:\d1a,c:\d1b\*\sc …… C:\d1a と C:\d1b\*\sc 以下は対象外
rep a b C:\ /d /ltC:\*\ …… Cドライブのルートにあるファイルは対象外
rep a b C:\d1 /d /ltC:\d1\*\ …… C:\d1直下にあるファイルは対象外
rep a b d1 /d /spd1\sa\f1 …… ファイル d1\sa\f1 は対象外
rep a b * /d /sdold …… ディレクトリold 以下は対象外
rep a b * /d /sdo* …… ディレクトリo* 以下は対象外
rep a b * /d /seobj,exe,jp*g …… 拡張子obj,exe,jp*g は対象外
rep a b * /d /se /sa …… 置換対象外拡張子と置換対象外属性を無視し、すべてのファイルを置換
rep a b * /d /sas,h …… 属性 s, h は対象外
rep a b * /d /sas,ds …… 属性 s ファイルと、属性 s のディレクトリ以下は対象外
rep a b d1 /d /lhd1\abc?\ …… ディレクトリd1\abc? 以下のみ置換
rep a b d1 /d /lhd1\abc? /ltd1\*\ …… ディレクトリd1\abc? 以下のみ置換(上と同じ動作)
rep a b * /d /ls1K …… 1Kバイトのファイルを置換
rep a b * /d /ls0.9M- …… 0.9Mバイト以上のファイルを置換
rep a b * /d /ls-1048575 …… 1Mバイト未満のファイルを置換
rep a b * /d /ls3M-5M …… 3〜5Mバイトのファイルを置換
rep a b * /d /ly2001 …… 2001年のファイルを置換
rep a b * /d /ly200104 …… 2001年4月のファイルを置換
rep a b * /d /ly20010417 …… 2001年4月17日のファイルを置換
rep a b * /d /ly20010417123456 …… 2001年4月17日12時34分56秒のファイルを置換
rep a b * /d /ly20010417- …… 2001年4月17日からのファイルを置換
rep a b * /d /ly20010417-20180625 …… 2001年4月17日〜2018年6月25日のファイルを置換
rep a b * /d /ly-20180625 …… 2018年6月25日までのファイルを置換
rep a b *.HTM /fcase …… ファイル名半角英大小文字区別
rep a b *.HTM /fcase- …… ファイル名半角英大小文字同一視《既定》
rep a b * /sort …… ファイル名ソートなし
rep a b * /sort- …… ファイル名ソート《既定》
rep a b * /v=e …… エラー表示のみ
rep a b * /v+k …… 対象外ファイル名表示あり
rep a b * /v-k …… 対象外ファイル名表示なし《既定》
rep a b * /v-f …… 合計表示なし
rep a b * /p …… 画面一時停止あり
rep a b * /p- …… 画面一時停止なし《既定》
rep a b * /logc:\tmp\f1.log …… c:\tmp\f1.logへログ・ファイル出力
rep a b * /LOGc:\tmp\f1.log …… ログ・ファイル追加出力
rep a b * /time60 …… 60秒以上で処理時間表示
rep a b * /time-1 …… 処理時間表示なし
rep a b * /L500K …… 1行のバイト数を500Kバイトで置換
rep a b * /test …… 試験モード(表示のみ、置換せず)
rep /? …… 使用方法説明
srh ファイル内容検索コマンド
maxline ファイル最大行コマンド
HIR-NETソフト
Copyright (C) 1997-2024 Hirabayashi Masahide プライバシーポリシー