EDLIN

作者|  ティム・パターソン
開発元|  マイクロソフト、IBM
初版|  1980年 (44年前) (1980)
対応OS|  86-DOS, PC DOS, MS-DOS, FreeDOS, OS/2, Windows
種別|  ラインエディタ
ライセンス|  MS-DOS: MITライセンス
FreeDOS, ReactOS: GNU GPL
86-DOS, PC DOS, OS/2, Windows: プロプライエタリ
公式サイト|  docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-xp/bb490632(v=technet.10)
テンプレートを表示

EDLIN（エドリン）は、MS-DOSおよび、その後のマイクロソフトのOSに標準添付されているラインエディタである。コマンド制御のインターフェースにより、テキストファイルを編集する基本的な機能を持つ。数字により行番号を指定し、1文字の英字コマンドにより操作を指示する（たとえば`5d`はファイルの5行目を削除する操作を指示する）。

また、`EDLIN ファイル名 /B` のように `/B` スイッチ（コマンド行オプション）を付けると、ファイルの途中にあるEOF(ファイルの終わり)(1AH ^Z)もテキストとして読み込むので、途中にEOFの入ったファイルを編集することができる。ただし、ファイルの最後のEOFは `/B` スイッチを付けてもテキストとして読み込まれない[1]。

## 歴史

[編集]

初期のMS-DOSではシステム唯一のテキストエディタだったが、後のバージョンではフルスクリーンのMS-DOS Editorが付属するようになり、バージョン6でEDLINは削除された[2]。しかし、32ビット版Windows NTには同梱されている（NTVDMのDOSサポートがMS-DOSバージョン5.0に基づいているためである）。他のDOSコマンドとは異なり、ネイティブWin32プログラムに移植されていない。EDLINが存続していることは、標準入力からコマンドのスクリプトを入力することにより、テキストファイルの小さな変更を自動的に行うために起動できるという事実から説明できるかもしれない。

実際には、MS-DOSにはGW-BASICという他のヴィジュアルエディタが用意されていた。GW-BASICはMicrosoft BASICのインタプリタであり開発環境でもあった。また、MS-DOSバージョン5.0から6.22のEDITエディタ（edit）は、実際にはQBasicを起動していた。QBasicはGW-BASICを置き換えたもので、さらに現代的なユーザインタフェースを持っていた。

EDLINは1980年にティム・パターソンが2週間で作ったものであり、6ヶ月の寿命しかないと思われていた。[1] EDLINはもともとシアトル・コンピュータ・プロダクツ社の86-DOS（QDOS）のために書かれたものである。86-DOSはマイクロソフト社が買い取り、MS-DOSとして販売した。

## 現在の扱い

[編集]

現在の環境でEDLINを使用する場合、ロングファイルネームをサポートしていないという制限がある。たとえば「`longfilename.txt`」という名前の既存ファイルを編集しようとすると、EDLINは「`longfile.txt`」という名前の新規ファイルを作成してしまう。これは、バージョン7.0までのMS-DOSの制限に関連していて、EDLIN自体の問題ではない。ロングファイルネームは、EDLINが書かれた後でMS-DOSやWindowsの機能として追加されたものである。

ピーチ・グレゴリー（英語版）はGPL版のEDLINクローンを作成した。このクローンはロングファイルネームをサポートしていて、FreeDOSプロジェクトの一部としてダウンロード可能である。また、MS-DOSと同様にLinuxやUNIXでも動く。クローンの出力メッセージは様々なヨーロッパ言語や日本語にカスタマイズ可能であり、様々なCコンパイラでコンパイル可能である。

EDLINは、現在では一般的に役に立たないにもかかわらず、他のエディタがない環境では、EDLIN用スクリプトのインタプリタとして使用されることがある。スクリプトはEDLINコマンドの列のように見える。以下のように起動される：

> EDLIN < スクリプトファイル名

他の標準DOSツールとしては、DEBUG.EXEがある。

## PC-98版MS-DOS 3.1でのバグ

[編集]

日本電気 PC-9800シリーズ用MS-DOS 3.1の初期バージョンには、EDLINに2バイト文字列の置換が正常に行われないバグが存在した。このバグ自体は緊急を要する重大な欠陥ではなかったが、報道機関に取り上げられたことで周知され、自主的リコールに発展した。

1986年2月8日、MS-DOSの習得のために機能を試していたとあるユーザーがこのバグを発見し、友人の協力を得てMS-DOS 2.0を調べてみると、こちらでは正常に動作することが分かった。購入店舗で店員に相談して操作してもらうもやはりうまくいかなかったため、メーカーである日本電気に書面で問い合わせた。返答がなかったため、17日に再度手紙を送ったところ、翌18日にサポート窓口からバグを認める電話連絡を受けた。10日後の28日にメーカーの担当者2名がバグ修正済みの交換品（フロッピーディスク）を持参し、ユーザーのもとを訪れた。これで問題は解決したが、ユーザーは他の購入者が気になったため、担当者にバグを公表するよう求めた。この時の担当者は対応すると返答したが、数日経って販売店やメーカーのショールーム (Bit-INN) をたびたび訪れるも動きがない。そこにNHKの記者が噂を嗅ぎ付けてユーザーのもとを訪れ、ユーザーは記者にバグの公表と製品の回収が妥当であることを説明した。この後、ユーザーはメーカーに再度連絡したものの、何の対応も取られないまま、3月14日19時台のNHKニュースで全国に放映された[3]。

報道後の日本電気の対応は迅速に行われた。ニュース放映の当日中に製品の無償回収を行うことを発表し[4][5]、3月17日には製品の登録ユーザー4800人に無償交換の通知を発送した。また、1985年10月末より出荷している流通在庫（約6590本、登録ユーザー含む）を回収するため、全国のパソコン販売店（3000店以上）に対しても通知を出し、4月初めには登録ユーザー分の回収をほぼ完了した。このリコールには1億円程度のコストが掛かるとした。

このバグの原因はアメリカのマイクロソフトのプログラムミスにあったが、日本電気は「責任は出荷前の検査で発見できなかった日本電気にある。賠償金などをマイクロソフトに要求することはしない。」と発表し、マイクロソフトに責任を追及しなかった。この不祥事を受け、日本電気は保守・検査体制を強化すると発表した[3]。

## 脚注

[編集]

1. ^ 発行者 塚本慶一郎『標準MS-DOSハンドブック』株式会社アスキー、1984年7月10日、158頁。ISBN 4-87148-742-3。
2. ^ MS-DOSリテール版の場合。他はOEM先により異なる。
3. ^ a b 中川貴雄「ユーザーの目：日本電気の「MS-DOS3.1」に潜んでいたバグ」『日経パソコン』日経マグロウヒル、1986年5月5日号、pp.207-212。
4. ^ 「日電の主力パソコン、基本ソフトに欠陥。」『日本経済新聞』 1986年3月15日朝刊、31面。
5. ^ 「パソコンに欠陥」『毎日新聞』 1986年3月15日朝刊、20面。

## 外部リンク

[編集]

* MS-DOS Edlin command help
* FreeDOS Edlin 2.10
* A Brief History Of DOS
* W31:ラインエディタ EDLIN の使用方法について
* FreeDOS Edlin（日本語）

* 表
* 話
* 編
* 歴

Windows コンポーネント

管理ツール|

* アプリインストーラ
* コマンドプロンプト
* コントロールパネル
* アプレット
* デバイスマネージャ
* ディスク クリーンアップ
* デフラグ
* Driver Verifier
* DxDiag
* イベントビューア
* IExpress
* 管理コンソール
* Netsh
* パフォーマンスモニタ
* リソースモニタ
* 設定
* Sysprep
* システム構成
* システム ファイル チェッカー
* システム情報
* システムポリシーエディター
* システムの復元
* タスクマネージャ
* Windows エラー報告
* Windows Ink
* Windowsインストーラ
* PowerShell
* Windows Update
* Windows Insider
* WinRE
* WMI
* スキャンディスク
* CHKDSK
* 問題の報告と解決

アプリ|

* 3Dビューアー
* アラーム & クロック
* 電卓
* カメラ
* 外字エディタ
* Clipchamp
* Cortana
* Edge
* FAX とスキャン
* フィードバック Hub
* サポートに問い合わせる
* 拡大鏡
* メール/カレンダー
* 地図
* メッセージング
* 映画&テレビ
* モビリティセンター
* ナレーター
* メモ帳
* OneDrive
* OneNote
* ペイント
* ペイント3D
* Pay
* アドレス帳
* People
* フォト
* フォト ビューアー
* クイック アシスト
* スマホ同期
* Snipping Tool
* 切り取り & スケッチ
* 音声認識
* Skype
* Sticky Notes
* Microsoft Store
* メディア プレーヤー
* Windows Media Player Legacy
* ボイスレコーダ
* ワードパッド
* WinSAT
* 文字コード表
* リモート アシスタンス

シェル|

* Aero
* ClearType
* エクスプローラ
* Windows サーチ
* スタートメニュー
* タスクバー
* 特殊フォルダ
* 関連付け
* シェル名前空間（英語版）

サービス|

* サービス コントロール マネージャー
* CLFS
* BITS
* Wireless Zero Configuration
* シャドウ コピー
* 自動再生
* タスク スケジューラ
* マルチメディア クラス スケジューラ

ファイルシステム|

* CDFS
* DFS
* exFAT
* FAT12
* FAT16
* FAT32
* IFS
* NTFS
* ジャンクション
* マウント ポイント
* リパース ポイント
* シンボリック リンク
* TxF
* EFS
* ReFS
* UDF

サーバ|

* Active Directory
* DFS レプリケーション
* DNS
* IIS
* MSDTC
* NAP
* AD RMS
* SharePoint
* Windows Media Services
* WSUS
* 移動ユーザー プロファイル
* グループ ポリシー
* ドメイン
* リモート デスクトップ サービス (Remote Desktop Protocol)

アーキテクチャ|

* NT系のアーキテクチャ
* スタートアップ プロセス (Vista)
* CSRSS
* DLL
* EXE
* HAL
* I/O
* Ntoskrnl.exe
* Svchost.exe
* WinPE
* NTLDR/ブート マネージャー
* アイドル プロセス
* カーネル パッチ保護
* レジストリ
* IRP
* KTM
* LSASS
* SMSS
* Windows リソース保護
* オブジェクト マネージャー
* Win32コンソール
* Winlogon
* セキュリティアカウントマネージャー（SAM）（英語版）
* 論理ディスク マネージャー

セキュリティ|

* Defender
* ファイアウォール
* Security Essentials
* 悪意のあるソフトウェアの削除ツール
* Safety Scanner
* DEP
* MIC
* UAC
* UIPI
* KPP
* セキュリティとメンテナンス
* BitLocker

互換性|

* 互換モード
* COMMAND.COM
* 仮想DOSマシン
* WOW
* WOW64
* Windows Subsystem for Linux

API|

* .NET Framework
* COM
* OLE
* OLE オートメーション（英語版）
* DCOM
* ActiveX
* 構造化ストレージ
* MTS
* DirectX
* DWM
* GDI
* Protected Media Path（英語版）
* PlayReady
* Windows Imaging Component
* Windows Imaging Format
* Windows Script Host
* VBScript
* JScript

開発終了|

| ゲーム|

* リバーシ
* ピンボール
* インクボール
* Chess Titans
* Mahjong Titans
* Purble Place
* スパイダ ソリティア
* ソリティア
* ハーツ
* フリーセル
* マインスイーパ

|

アプリ|

* Windowsアドレス帳
* Anytime Upgrade
* Windows Calendar(Vista)
* CardSpace
* DVD メーカー
* Grooveミュージック
* Internet Explorer
* Windows Journal
* 画像とFAXビューア(XP)
* Windows Mail(Vista)
* Media Center
* Messenger
* Microsoft ActiveSync
* Windows Mobile デバイス センター
* NetMeeting
* Outlook Express
* WinHelp
* Write
* サウンド レコーダー
* デスクトップ ガジェット
* ハイパーターミナル
* バックアップと復元センター
* フォト ギャラリー
* プログラムマネージャ
* ミーティング スペース
* ムービー メーカー
* リソースメーター

その他|

* UNIX サブシステム
* Interix
* Video for Windows

カテゴリ

* 表
* 話
* 編
* 歴

Windowsのコマンドラインプログラムと組み込みコマンド

* COMMAND.COM
* Cmd.exe
* Windows PowerShell
* 回復コンソール

ファイルシステム|

* cd (chdir)
* dir
* popd（英語版）
* pushd（英語版）
* tree（英語版）

ファイル管理|

* attrib（英語版）
* cacls
* cipher
* compact
* copy（英語版）
* del（英語版） (erase)
* deltree（英語版）
* expand
* icacls
* makecab
* md (mkdir)
* move（英語版）
* rd (rmdir)
* recover（英語版）
* ren（英語版） (rename)
* replace（英語版）
* rmdir
* robocopy（英語版）
* xcopy（英語版）

ディスク管理|

* CHKDSK
* convert（英語版）
* defrag
* diskcomp（英語版）
* diskcopy（英語版）
* diskpart（英語版）
* fdisk（英語版）
* format（英語版）
* label（英語版）
* SUBST（英語版）
* scandisk
* sys（英語版）
* vol（英語版）
* vssadmin（英語版）

プロセス管理|

* exit（英語版）
* kill
* PowerCFG（英語版）
* runas（英語版）
* sc
* shutdown
* start（英語版）
* taskkill
* tasklist（英語版）

レジストリ|

* assoc
* ftype（英語版）
* reg
* regini
* regsvr32（英語版）

ユーザ環境|

* date
* mode（英語版）
* path（英語版）
* set
* setx
* time（英語版）
* title（英語版）
* ver（英語版）
* whoami

テキスト処理|

* comp（英語版）
* edit
* edlin
* fc
* find
* findstr（英語版）
* print（英語版）
* type（英語版）

スクリプト|

* choice（英語版）
* clip
* cscript
* doskey（英語版）
* echo
* for
* goto
* if
* more
* pause（英語版）
* prompt
* rem

ネットワーク|

* arp
* getmac
* hostname
* ipconfig
* net use（英語版）
* netsh
* netstat
* nslookup
* PathPing（英語版）
* ping
* route
* tracert

メンテナンス|

* driverquery（英語版）
* msiexec
* ntbackup（英語版）
* sfc
* systeminfo（英語版）
* w32tm（英語版）
* WBAdmin（英語版）
* winsat
* wmic

ブート管理|

* bcdedit
* bootcfg（英語版）
* fixboot
* fixmbr

ソフトウェア開発|

* debug（英語版）
* exe2bin（英語版）
* QBasic

その他|

* CLS
* help（英語版）

* DOSコマンドの一覧（英語版）
* 環境変数

* 表
* 話
* 編
* 歴

テキストエディタ

クロスプラットフォーム|

* Ace（英語版）
* Atom†
* Brackets
* Emacs (GNU Emacs)
* ed
* gedit
* Geany
* jEdit
* Kate
* KEdit
* Komodo Edit（英語版）
* KWrite
* Leafpad
* Light Table
* MinEd
* nano
* nvi
* Scintilla
* SciTE
* Scribes†
* sed
* Sublime Text
* Text Editor and Corrector
* UltraEdit（英語版）
* vi
* Vim
* Visual Studio Code
* WZ EDITOR

Windows用のみ|

* Aprotool TM Editor†
* Apsaly†
* Dana†
* EmEditor
* gPad†
* J-cref†
* K2Editor†
* Meadow†
* Mery
* Notepad++
* Notepad2†
* oedit
* Peggy†
* PerlEditor†
* QXエディタ†
* Space Editor†
* TeraPad
* TextPad
* UnEditor†
* ViVi
* xyzzy†
* サクラエディタ
* 秀丸エディタ
* メモ帳

Mac OS/macOS用のみ|

* Alpha
* Aquamacs
* BBEdit（英語版）
* CotEditor
* iText†
* Jedit
* mi
* SimpleText†
* Tex-Edit Plus（英語版）†
* TextMate（英語版）†
* VimR
* WriteRoom
* テキストエディット

その他|

* EDLIN
* MIFES
* QED
* SE3†
* VZ Editor†

* †印は開発終了
* 一覧