Windowsでフォルダーやファイルをコマンドで操作する方法

Windowsでフォルダーやファイルをコマンドで操作する方法

Windows 10でフォルダーやファイルの操作(新規作成、コピー、移動、削除、名前の変更など)を行う場合、マウス操作で行うことが多いですが、操作対象のフォルダーやファイルの数が多い場合は、コマンドで操作することで、効率よく作業を行うことができます。

そこでここでは、Windows 10でフォルダーやファイルに対する次のような操作をWindowsコマンドやPowerShellで実行する方法を紹介します。

  • 空のファイルを作成する
  • フォルダーを作成する
  • フォルダーをコピーする
  • ファイルをコピーする
  • フォルダーやファイルを移動する
  • フォルダーやファイルの名前を変更する
  • フォルダーやファイルを削除する

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit21H1

空のファイルを作成する

空のファイルを作成するときのコマンドは、次のとおりです。

コマンドプロンプト

コマンドプロンプトで空のファイルを作成するときは「type」コマンドを利用します。

> type nul > E:\new_file.txt

PowerShell

PowerShellで空のファイル作成するときは「New-Item」コマンドレットを利用します。

PS> New-Item E:¥new_file.txt -type file
Windowsで任意のサイズや数のダミーファイルを作成するならfsutilコマンド
Windows環境で、ディスクの読み書き速度やネットーワーク送受信速度をテストするとき、テスト用のダミーファイルとして、大容量のファイル(数GB、数TB)や、大量のファイルが欲しいときがあります。

フォルダーを作成する

フォルダーを作成するときのコマンドは、次のとおりです。

コマンドプロンプト

コマンドプロンプトでフォルダーを作成するときは「mkdir」コマンドを利用します。

> mkdir E:\new_folder

PowerShell

PowerShellでフォルダーを作成するときは「New-Item」コマンドレットを利用します。

PS> New-Item E:¥new_folder -type directory

コマンドでフォルダーを作成すると、フォルダーツリーを一発で作成できるのが便利です。

たとえば「E:\a\b\c\d\e」というフォルダーツリーを作成したい場合、マウス操作で作成する場合は、フォルダーaを作成してフォルダーbを作成して、と順にフォルダーを作成していく必要がありますが、コマンドなら「mkdir "E:\a\b\c\d\e"」と実行するだけで一発でフォルダーツリーを作成できます。

フォルダーをコピーする

フォルダーをコピーするときのコマンドは、次のとおりです。

コマンドプロンプト

コマンドプロンプトでフォルダーをコピーするときは「robocopy」コマンドがおススメです。

たとえば「E:¥copy_from」フォルダーとその中身を「E:¥copy_to」フォルダーにコピーしたいときは、次のように実行します。

> robocopy E:\copy_from E:\copy_to /e

フォルダーツリーのみをコピーして、ファイルはコピーしたくないときは、次のように実行します。

> robocopy E:\copy_from E:\copy_to /e /xf *
Windowsのrobocopyコマンドで高速にファイルをコピーするためのテクニック
ここでは、Windows 10のrobocopyコマンドで、高速化に役立つオプションや、高速にコピーするための実行方法について紹介します。

PowerShell

PowerShellでフォルダーをコピーするときは「Copy-Item」コマンドレットを利用します。

たとえば「E:¥copy_from」フォルダーとその中身を「E:¥copy_to」フォルダーにコピーしたいときは、次のように実行します。

PS> Copy-Item E:\copy_from E:\copy_to -Recurse

ファイルをコピーする

ファイルをコピーするときのコマンドは、次のとおりです。

コマンドプロンプト

コマンドプロンプトでファイルをコピーするときは「robocopy」コマンドがおススメです。

たとえば「E:¥copy_from」フォルダーにある「a.txt」を「E:¥copy_to」フォルダーにコピーしたいときは、次のように実行します。

> robocopy E:\copy_from E:\copy_to a.txt

たとえば「E:¥copy_from」フォルダーにある、拡張子が「.jpg」ファイルのみを「E:¥copy_to」フォルダーにコピーしたいときは、ワイルドカード「*」を使って次のように実行し、サブフォルダーを含めたいときは「/e」オプションを付加します。

> robocopy E:\copy_from E:\copy_to *.jpg

PowerShell

PowerShellでファイルをコピーするときは「Copy-Item」コマンドレットを利用します。

たとえば「E:¥copy_from」フォルダーにある「a.txt」を「E:¥copy_to」フォルダーにコピーしたいときは、次のように実行します。

PS> Get-ChildItem E:\copy_from\a.txt -File | Copy-Item -Destination E:\copy_to\

たとえば「E:¥copy_from」フォルダーにある、拡張子が「.jpg」ファイルのみをコピーしたいときは、ワイルドカード「*」を使って、次のように実行し、サブフォルダーを含めたいときは「Get-ChildItem」コマンドレットに「-Recurse」オプションを付加します。

PS> Get-ChildItem E:\copy_from\*.jpg -File | Copy-Item -Destination E:\copy_to\
Windows 10でファイルを高速コピーしたいなら「FastCopy」
ここでは、Windows 10で利用できる高速コピーツールとして人気のある「FastCopy」を紹介します。

フォルダーやファイルを移動する

フォルダーやファイルを移動するときのコマンドは、次のとおりです。

コマンドプロンプト

コマンドプロンプトでフォルダーやファイルを移動するときは「robocopy」コマンドを利用します。

たとえば「E:¥move_from」フォルダーとその中身を「F:¥move_to」フォルダーに移動したいときは、次のように実行します。

> robocopy E:¥move_from F:¥move_to /move /e

たとえば「E:¥move_from」フォルダーで、拡張子が「.jpg」ファイルのみを「F:¥move_to」フォルダーに移動したいときは、ワイルドカード「*」を使って次のように実行し、サブフォルダーを含めたいときは「/e」オプションを付加します。

> robocopy E:¥move_from F:¥move_to *.jpg /mov

PowerShell

PowerShellでフォルダーやファイルを移動するときは「Move-Item」コマンドレットを利用します。

たとえば「E:¥move_from」フォルダーとその中身を「F:¥move_to」フォルダーに移動したいときは、次のように実行します。

PS> Move-Item E:¥move_from F:¥move_to

たとえば「E:¥move_from」フォルダーにある「a.txt」を「E:¥move_to」フォルダーに移動したいときは、次のように実行します。

PS> Get-ChildItem E:\move_from\a.txt -File | Move-Item -Destination F:\move_to\

たとえば「E:¥move_from」フォルダーで、拡張子が「.jpg」ファイルのみを「E:¥move_to」フォルダーに移動したいときは、ワイルドカード「*」を使って、次のように実行し、サブフォルダーを含めたいときは「Get-ChildItem」コマンドレットに「-Recurse」オプションを付加します。

PS> Get-ChildItem E:\move_from\*.jpg -File | Move-Item -Destination F:\move_to\

フォルダーやファイルの名前を変更する

フォルダーやファイルの名前を変更するときのコマンドは、次のとおりです。

コマンドプロンプト

コマンドプロンプトでフォルダーやファイルの名前を変更するときは「rename」コマンドを利用します。

たとえば「E:¥folder_a」のフォルダー名を「E:\folder_b」に変更したいときは、次のように実行します。

> rename E:\folder_a folder_b

たとえば「E:¥a.txt」のファイル名を「E:¥b.txt」に変更したいときは、次のように実行します。

> rename E:\a.txt b.txt

たとえば、拡張子が「.txt」のファイルの拡張子を「.jpg」に一括変更したいときは、ワイルドカード「*」を使って次のように実行します。

> rename E:\*.txt *.jpg

PowerShell

PowerShellでフォルダーやファイルの名前を変更するときは「Rename-Item」コマンドレットを利用します。

たとえば「E:¥folder_a」のフォルダー名を「E:\folder_b」に変更したいときは、次のように実行します。

PS> Rename-Item E:\folder_a folder_b

たとえば「E:¥a.txt」のファイル名を「E:¥b.txt」に変更したいときは、次のように実行します。

PS> Rename-Item E:\a.txt b.txt

たとえば「E:\folder_a」フォルダーにある拡張子が「.txt」のファイルの拡張子を「.jpg」に一括変更したいときは、次のように実行し、サブフォルダーを含めたいときは「Get-ChildItem」コマンドレットに「-Recurse」オプションを付加します。

PS> Get-ChildItem E:\folder_a -File | Rename-Item -NewName { $_.Name -replace '.txt','.jpg' }
Windowsでフォルダー名/ファイル名を一括変更(リネーム)する4つの方法
ここでは、Windowsで複数のフォルダー名やファイル名を一括変更(リネーム)する方法として、標準機能やコマンドを使った方法、専用アプリを使った方法を紹介します。

フォルダーやファイルを削除する

フォルダーやファイルを削除するときのコマンドは、次のとおりです。

コマンドプロンプト

コマンドプロンプトでフォルダーやファイルを削除するときは「rmdir」や「del」コマンドを利用します。

たとえば「E:¥folder_a」というフォルダーとその中身をすべて削除するときは、次のように実行し、削除の確認を省略するときは「/q」オプションを付加します。

> rmdir E:¥folder_a /s 

たとえば「E:¥folder_a」内のすべてのファイルを削除したいときは、次のように実行し、削除の確認を省略するときは「/q」オプションを付加し、サブフォルダーのファイルも削除したいときは「/s」オプションを付加します。

> del E:¥folder_a\*

また、ワイルドカード「*」を使って、特定のファイルを一括削除することもできます。

> del E:¥folder_a\*.txt

PowerShell

PowerShellでフォルダーやファイルを削除するときは「Remove-Item」コマンドレットを利用します。

たとえば「E:¥folder_a」フォルダーとその中身をすべて削除するときは、次のように実行します。

PS> Remove-Item E:\folder_a -Recurse

たとえば「E:¥folder_a」内のすべてのファイルを削除したいときは、次のように実行し、サブフォルダーを含めたいときは「Get-ChildItem」コマンドレットに「-Recurse」オプションを付加します。

PS> Get-ChildItem E:\folder_a -File | Remove-Item

また、ワイルドカード「*」を使って、特定のファイルを一括削除することもできます。

PS> Get-ChildItem E:\folder_a\*.txt -File | Remove-Item

あとがき

コマンドを使ったフォルダーやファイルの操作は、多数のフォルダーやファイルを一括で操作したいときに効果を発揮します。

ご活用あれ。