HIR-NETソフト
ソフト一覧
パック商品
価格表
取扱店
Q&A
ダウンロード
無料バージョンアップ
ユーザー登録変更
HIR-NET Home
運営者
運営者著書
CG作品
快適パソコン操作術
パソコン情報リンク集
HIR-NETソフト 32bitコマンド・シリーズ
dspディ エス ピー 第1.29版
ファイル行末空白削除コマンド
file delete space of ending command
対象OS:32bit Windows(Windows 95/98/Me/NT/2000/XP など)
★2010年9月9日更新★
サンプル無料ダウンロード dsp.lzh(73Kバイト)
| |
|
概要
引数
解説
注意
設定ファイル
ファイルとディレクトリの指定方法
行末半角空白の判断
バイナリ検出
使用例
実行例
関連
dspコマンド(ファイル行末空白削除コマンド)はテキスト・ファイルの各行の行末にある半角空白(タブを含む)を削除する 32bit Windows(Windows 95/98/Me/NT/2000/XP など)用ソフトウェアです。
テキスト・ファイルの行末にある空白を削除し、ファイルのサイズを小さくすることが出来ます。HTML や C/C++プログラムなどのソースファイルにも有効です。
ワイルドカード, サブディレクトリ処理はもちろん、処理するファイルをディレクトリ, 識別子, 属性, 日付, サイズ等によって対象外にしたり限定したり出来ます。
空白を削除しても、ファイルの日付を変更しないようにも出来ます。保存用のファイルなど日付が重要な場合にも対応します。もちろん、日付を更新させることも出来ます。
改行コードは、0A, 0D, 0D0A に対応しています。バイナリ・ファイルを破壊しないように、バイナリ検出機能や特定の拡張子のファイルの処理を抑止する機能があります。書込禁止ファイルの処理を可能にすることも出来ます。
ログ・ファイル出力機能がありますから、大量のファイルを処理した時も安心です。
設定ファイル(ファイル名 dsp.cfg のテキスト・ファイル)により、dspコマンドのオプション設定の登録が可能です。
dspコマンドによる行末空白の自動削除の状況は次のようになります。
□は半角空白、↓は行末を示す改行
ABC↓
ABCD□□□□↓
□ABCDE□□↓
□□ABCDE□□↓
ABCDE□□↓
↓
□□↓
ABCDEF↓
ABCDE□↓
ABC□DEF□↓
ABCDEFG□□□↓
|
dspコマンドによる行末空白削除
↓
ABC↓
ABCD↓
□ABCDE↓
□□ABCDE↓
ABCDE↓
↓
↓
ABCDEF↓
ABCDE↓
ABC□DEF↓
ABCDEFG↓
エディタ作業で、行末空白が発生しやすいのは空白がいくつか続き、改行の直前にある文字を削除するようなケースです。dspコマンドはこうしたエディット作業で発生した行末空白を自動的に削除します。
ABCDEFG□□□H↓
|
Hを削除すると
↓
ABCDEFG□□□↓
dsp [△ オプション群]□ ファイル名…
/d ;[ON ] サブディレクトリ処理モード subDirectory
/d- ;[OFF](既定)
/t ;[OFF] ファイル書込日時保持モード Time
/t- ;[ON ](既定)
/o ;[ON ] 書込禁止ファイル処理モード read Only
/o- ;[OFF](既定)
; /oオプションを指定すると、設定されていた /sarオプションは自動削除。
/bin ;[OFF] バイナリ検出モード BINary
/bin- ;[ON ](既定)
/nl ;[OFF] 異種改行コード検出モード NewLine
/nl- ;[ON ](既定)
/c ;[ON ] 失敗時続行モード Continue
/c- ;[OFF](既定)
/case ;[ON ] 半角英大小文字区別モード CASE
/case- ;[OFF](既定)
;引数のファイル名のみに作用し、以下のオプションには作用しない。
/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
c ;処理成功ファイル表示 Compelte
u ;処理不要ファイル表示 Unchaging
s ;処理対象外ファイル表示 Skip
e ;処理不能ファイル表示 Error
f ;終了合計表示 Finish
/v ;[標準](既定) (/v=cef と同じ)
/time[<n>];処理時間表示開始秒数 TIME
;<n>は整数、負値で表示なし、既定 /time300
/log<file> ;[ON ] ログ・ファイル出力モード LOG file
/LOG<file> ;[追加]
/log ;[OFF ](既定)
;<file>はログ・ファイルのファイル名
/acalt ;[ON ] 代替形式ファイル参照モード ACcess ALTernate
/acalt- ;[OFF ]
/acalta ;[自動](既定) ACcess ALTernate Auto
/test ;[ON ] 試験モード(表示のみ、行末空白削除せず) TEST
/test- ;[OFF](既定)
/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:エラー発生、実行継続
- テキスト・ファイルの各行の行末にある半角空白(タブを含む)を削除するコマンドです。
- 実行すると、各ファイルのファイル名, 行末空白数が表示され、最後に、検査ファイル数, 処理ファイル数, 行末空白総数が表示されます。
- ファイル名は複数指定可能で、ワイルドカード(?, *)も使用できます。
- <n>を使用するオプションにおいて、<n>の指定がない場合は 0 が指定されたことになります。
- 相反するオプションが指定された場合は、設定ファイルよりもコマンドラインが優先され、最後に指定されたものが有効になります。最後とは設定ファイルでは下方(↓)、コマンドラインでは最も右側(→)です(例えば、/v=c /v=a では /v=a が有効)。
- /pオプション(画面一時停止モード[ON])では、実行結果の表示がページ毎されます。
ページの最後の(Continue,/All/Quit)プロンプトに対し、[C]キー(または[Enter]キー)で継続実行, [A]キーで一時停止を解除し全実行, [Q]キー(または[Esc]キー)で実行停止されます。
なお、出力結果をリダイレクトした場合は、一時停止が自動的に解除されます(/p-オプションが指定されたことになります)。
- /Lオプションでは末尾に単位として K(キロ), M(メガ), G(ギガ)が付けられます。
K=1024, M=1024*1024, G=1024*1024*1024
- ファイル中の行末に半角空白(タブを含む)があった場合は、元のファイルを書き換えます。
- 行末に半角空白があるないに関わらず、作業用一時ファイル(dsp数字列.$$$)をコマンド起動ディレクトリに生成します(\\で始まるファイル名の場合は、ネットワーク・ドライブの最上位ディレクトリに生成)。作業用一時ファイルは実行終了の際に自動的に削除されます。
- /testオプション(試験モード[ON])では、作業用一時ファイルは生成しません。
- プログラムが異常終了した場合は、作業用一時ファイルが残ることがあります。その場合は、元のファイルの内容を確認後、作業用一時ファイルを削除してください。
- /Lオプション(1行のバイト数)に 10Kバイト未満を指定した場合は、10Kバイトが指定されたものと解釈されます。
- /Lオプションで指定したバイト数を越えた行を含んだファイルは処理せず、必要なオプション指定を示します。
- ファイル名は複数指定可能で、ワイルドカード(?, *)も使用できます。
- 8.3形式のファイル名(~が付いたファイル名)を指定した場合は、自動的にロングファイル名に変換され処理されます。
- オープン中のファイルは処理しません。
- 引数がワイルドカードの場合は、ワイルドカードに該当するファイルを処理します。
- 引数がワイルドカードでない場合は、ファイルかディレクトリか自動認識し処理します。引数末尾に \ がなくてもディレクトリの場合はディレクトリとして認識し処理します。
- ワイルドカードで処理するディレクトリを指定したい場合は、/lhオプション(処理限定先頭一致パス)にワイルドカードでディレクトリを指定し、さらに /dオプション(サブディレクトリ処理モード[ON])を指定します。例えば、Cドライブの dir1以下のサブディレクトリ abc? を処理する場合は "dsp /d C:\dir1 /lhC:\dir1\abc?\" とします。なお、"/lhC:\dir1\abc?" ですと C:\dir1直下に abc? に一致するファイルがあった場合、それも処理してしまいます。
- /bin-オプション(バイナリ検出モード[ON](既定))では、文字コード 01〜06, 0E〜1A, 1C〜1F, 7F, FF を検出した場合、バイナリ・ファイルとして認識し、処理を停止します。ただし、1Aコードがファイル末尾にあっても、バイナリ・ファイルとして認識しません。
- ファイルの書き換えを行いますから、EXEファイルや画像ファイルなどバイナリ・ファイルを処理してしまうと内容を破壊してしまいます。これを自動的に避けるためには、/bin-オプションを指定してバイナリ検出をしてください。ただし、文字コード 01〜06, 0E〜1A, 1C〜1F, 7F, FF を含まないバイナリ・ファイルは、バイナリ・ファイルとして認識できません。そのため、/seオプションに処理対象外拡張子を指定して、特定の識別子のファイルの処理を自動的に避けるようにしてください。
- 設定ファイル(dsp.cfg)はコマンドのオプションなど各種設定を行うテキスト・ファイルです。内容はテキスト・エディタによって、書き換えることが出来ます。設定ファイルはコマンド起動時にコマンド格納ディレクトリから読み込まれます。設定ファイル名はコマンド・ファイル名に自動追随します。
- スイッチ文字は / の他 - などの追加登録が可能です。
※file.txt, f1 はファイル、d1 はディレクトリ
dsp file.txt …… ファイル file.txt を処理
dsp *.txt …… 拡張子txt のファイルを処理
dsp c:\*.txt …… ドライブC の拡張子txt のファイルを処理
dsp \\server\c\*.txt …… ネットワーク・ドライブ \\server\c の拡張子txt のファイルを処理
dsp d1\* /d …… ディレクトリd1下の全ファイルを処理
dsp * /t …… 処理した場合にファイル日時を更新
dsp * /t- …… 処理前のファイル日時を保持《既定》
dsp * /o …… 書込禁止ファイル処理
dsp * /bin …… バイナリ検出せず
dsp * /bin- …… バイナリを検出した場合処理停止《既定》
dsp * /nl …… 異種改行コード検出せず
dsp * /nl- …… 2種類以上の改行コードを検出した場合処理停止《既定》
dsp * /c …… 処理失敗があっても続行
dsp * /c- …… 処理失敗があったら終了《既定》
dsp C:\ /d /shC:\d1 …… C:\d1 以下は対象外
dsp * /d /shC:d1a,c:d1b …… C:d1a と C:d1b 以下は対象外
dsp C:\ /d /shC:\d1a,c:\d1b\*\sc …… C:\d1a と C:\d1b\*\sc 以下は対象外
dsp C:\ /d /ltC:\*\ …… Cドライブのルートにあるファイルは対象外
dsp C:\d1 /d /ltC:\d1\*\ …… C:\d1直下にあるファイルは対象外
dsp d1 /d /spd1\sa\f1 …… ファイル d1\sa\f1 は対象外
dsp * /d /sdold …… ディレクトリold 以下は対象外
dsp * /d /sdo* …… ディレクトリo* 以下は対象外
dsp * /d /seobj,exe,jp*g …… 拡張子obj,exe,jp*g は対象外
dsp * /d /se /sa …… 処理対象外拡張子と処理対象外属性を解除し、すべてのファイルを処理
dsp * /d /sas,ds …… 属性 s ファイルと、属性 s のディレクトリ以下は対象外
dsp * /d /sas,h,r …… 属性 s と h と r は対象外
dsp d1 /d /lhd1\abc?\ …… ディレクトリd1\abc? 以下のみ処理
dsp d1 /d /lhd1\abc? /ltd1\*\ …… ディレクトリd1\abc? 以下のみ処理(上と同じ動作)
dsp * /d /ls1K …… 1Kバイトのファイルを処理
dsp * /d /ls0.9M- …… 0.9Mバイト以上のファイルを処理
dsp * /d /ls-1048575 …… 1Mバイト未満のファイルを処理
dsp * /d /ls3M-5M …… 3〜5Mバイトのファイルを処理
dsp * /d /ly2001 …… 2001年のファイルを処理
dsp * /d /ly200104 …… 2001年4月のファイルを処理
dsp * /d /ly20010417 …… 2001年4月17日のファイルを処理
dsp * /d /ly20010417123456 …… 2001年4月17日12時34分56秒のファイルを処理
dsp * /d /ly20010417- …… 2001年4月17日からのファイルを処理
dsp * /d /ly20010417-20180625 …… 2001年4月17日〜2018年6月25日のファイルを処理
dsp * /d /ly-20180625 …… 2018年6月25日までのファイルを処理
dsp * /v= …… 表示なし
dsp * /v-a …… 表示なし(/v= と同じ)
dsp * /v=a …… すべて表示
dsp * /v=c …… 処理した場合のみ表示
dsp * /v+u …… 処理不要の場合も表示
dsp * /v=ce …… 処理した場合と処理不能の場合表示
dsp * /v=a-s …… 処理対象でない場合以外表示
dsp * /v-f …… 合計表示なし
dsp * /p …… 画面一時停止あり
dsp * /p- …… 画面一時停止なし《既定》
dsp * /logc:\tmp\f1.log …… c:\tmp\f1.logへログ・ファイル出力
dsp * /LOGc:\tmp\f1.log …… ログ・ファイル追加出力
dsp * /time60 …… 60秒以上で処理時間表示
dsp * /time-1 …… 処理時間表示なし
dsp * /L500K …… 1行のバイト数を500Kバイトで処理
dsp * /test …… 試験モード(表示のみ、行末空白削除せず)
dsp /? …… 使用方法説明
C>dsp /v=a *.txt↓
test1998.txt:56
メモ.txt :0
計画2.txt :47
計画3.txt :125
文章.txt :3
5ファイル中4ファイルに合計231バイトの行末空白が存在
C>dsp /v=a p:*↓
p:eex2.cpp :3
p:eex2.exe :処理せず
p:fex123.cpp:4
p:fex123.exe:処理せず
4ファイル中2ファイルに合計7バイトの行末空白が存在
zsp ファイル全角空白半角化コマンド
dzcode ファイル末尾Zコード削除コマンド
c2cpp C言語注釈C++化コマンド
ファイルに存在するムダな行末空白
HIR-NETソフト
Copyright (C) 1997-2024 Hirabayashi Masahide プライバシーポリシー