ファイルを削除する del

【連載】

LinuxユーザーのためのWindowsコマンド超入門

【第14回】ファイルを削除する del

[2018/12/14 07:30]後藤大地 ブックマーク ブックマーク

  • サーバ/ストレージ

サーバ/ストレージ

ファイルを削除する

Windowsではdelコマンドでファイルを削除する。またはeraseコマンドを使ってもよい。

名前が異なるだけでdelコマンドとeraseコマンドはまったく同じ動きをする。delコマンドまたはeraseコマンドの主な使い方は次のとおり。

delコマンドの使い方

del [/p] [/f] [/s] [/q] [/a[:]属性] パス

delコマンドの使い方

erase [/p] [/f] [/s] [/q] [/a[:]属性] パス

Linuxで言えばrmコマンドに相当するコマンドなのだが、ディレクトリ(フォルダ)の扱いが大きく異なる。rmコマンドではディレクトリ(フォルダ)の削除も行うことができるが、delコマンド(eraseコマンド、以降はdelコマンドで統一)ではフォルダ(ディレクトリ)は削除することができない。あくまでも削除できるのはファイルだけだ。再帰的にファイルの削除を行うこともできるのだが、その場合でもフォルダ(ディレクトリ)は削除することができない。

delコマンドで指定できるパラメータは次のとおり。

パラメータ 内容
パス ファイルやディレクトリのパス。複数指定することが可能。ワイルドカードを使うこともできる。ディレクトリが指定された場合には、ディレクトリ以下のファイルがすべて削除される
/p 削除する前に確認プロンプトを表示
/f リード・オンリーファイルを強制的に削除
/s カレントディレクトリから指定されたファイルをすべて削除するとともに、すべてのサブディレクトリからファイルを削除。削除したファイルは一覧表示される
/q 削除確認の表示などは行わない
/a:属性 ファイル属性に基づいてファイルを削除する
属性 内容
r リード・オンリー・ファイル
h 隠しファイル
i コンテンツインデックス化されていないファイル
s システムファイル
a アーカイブ向けファイル
l リパースポイント
- notを意味するプレフィックス

Linuxのrmコマンドに慣れているとWindowsのdelコマンドの動きは少々不思議な感じがするかもしれない。実際の動作を見ながらdelコマンドの動きを追ってみよう。

delコマンドの実行例

ファイルの削除に関してはdelコマンドもrmコマンドも大差がない。次のように引数にファイルを指定してdelコマンドを実行すればファイルを削除することができる。

delコマンドによるファイルの削除

次にディレクトリ(フォルダ、以降はディレクトリで統一)の削除を行ってみよう。次のように空のディレクトリを指定してdelコマンドを実行すると、何も行われないことがわかる。ディレクトリを指定してdelコマンドを実行したのだが、エラーになるわけでもなく、何も削除されないまま処理が完了する。

delコマンドで空のディレクトリを削除しようとしても何も削除されない

では次にディレクトリの中にファイルや、さらにファイルを配下に持つディレクトリを含んだディレクトリを削除してみよう。次のようにsample_dir2にはファイルやディレクトリが含まれており、含まれているディレクトリにはさらにファイルが含まれている。

sample_dir2のディレクトリ構造

sample_dir2のディレクトリ構造

sample_dir2/
├── sample1.txt
├── sample2.txt
├── sample3.txt
├── subdir1/
│   ├── sample1.txt
│   ├── sample2.txt
│   └── sample3.txt
└── subdir2/

このディレクトリをdelコマンドで削除すると、次のようにsample_dir2のディレクトリ直下のファイルだけが削除される。

sample_dir2直下のファイルだけが削除されている

sample_dir2直下のファイルだけが削除されている

sample_dir2/
├── subdir1/
│   ├── sample1.txt
│   ├── sample2.txt
│   └── sample3.txt
└── subdir2/

今度はdelコマンドに/sパラメータを指定してディレクトリの削除を実施してみる。今度はsample_dir2直下のファイルだけではなく、sample_dir2\subdir1\直下のファイルも削除されていることがわかる。また、対象のディレクトリごとに削除の可否をユーザに問うとともに、削除したファイルの一覧も表示されている。

サブディレクトリのファイルも含めて削除されている

サブディレクトリのファイルも含めて削除されている

sample_dir2/
├── subdir1/
└── subdir2/

del /sはrm -rに相当する処理ということになるが、rm -rではディレクトリもサブディレクトリも全部削除するのに対して、del /sではファイルのみを削除してディレクトリはそのまま残るという違いがある。このあたりはLinuxを使ってきたユーザは違和感を覚えるかもしれない。

参考資料

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【連載】RPA入門 - ツールで学ぶ活用シーン

【連載】RPA入門 - ツールで学ぶ活用シーン

AIには、ルールベース、機械学習、深層学習(ディープラーニング)の3つのレベルがあり、レベルが上がるに連れてより高度な人工知能を実現しますが、AIのスピンオフという位置付けで、Digital Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします

会員登録(無料)

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
知りたい! カナコさん 皆で話そうAIのコト
教えてカナコさん! これならわかるAI入門
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る