PowerShell を使用したファイルとフォルダーの移動

Marion Paul Kenneth Mendoza 2023年6月20日
  1. PowerShell を使用してファイルまたはフォルダーが存在するかどうかを確認する
  2. PowerShell を使用したファイルとフォルダーの作成
  3. PowerShell を使用したファイルとフォルダーの移動
PowerShell を使用したファイルとフォルダーの移動

ファイルとフォルダーの移動は、Windows オペレーティング システム、またはおそらくすべてのオペレーティング システムを使用する場合の基本的な操作です。 ファイルやフォルダーを画面にドラッグ アンド ドロップするだけで、1つずつまたは一括で転送できますが、多くの特定のファイル (特定のファイル形式のファイルなど) のみを移動する必要がある場合は、スクリプトを検討する必要があります。

この記事では、一括修復のために PowerShell スクリプトを使用してファイルとディレクトリを移動するときに重要なコマンドレットについて説明します。

PowerShell を使用してファイルまたはフォルダーが存在するかどうかを確認する

Test-Path コマンドは、ファイルまたはディレクトリ パスが存在するかどうかに応じて True または False を返すネイティブの PowerShell 組み込みコマンドレットです。 単一のファイルが存在するかどうかを照会する必要がある場合は、Test-Path PowerShell コマンドを使用できます。

デモンストレーションとして、現在の作業ディレクトリにファイル (test.txt) を作成するか、他の既存のファイルを選択します。 テスト ファイルを選択したら、パス (C:\Temp\PS) とファイル名 (test.txt) を置き換えて、以下のコマンドを実行します。

Test-Path コマンドは、実行時にブール値を返します。

指図:

Test-Path C:\Temp\PS\test.txt

上記の例では、ファイル (test.txt) が存在する場合、コマンドは True 値を返します。 それ以外の場合は、コンソールに False 値が表示されます。

PowerShell を使用したファイルとフォルダーの作成

Windows PowerShell New-Item コマンドは、ファイルとディレクトリの両方を作成します。 以下は、Windows PowerShell New-Item コマンドレットを使用してファイルとフォルダーを作成する 2つの例です。

指図:

# Create a Folder
New-Item -ItemType 'Directory' -Name 'C:\Temp\PS'

# Create a File
New-Item -ItemType 'File' -Name 'Test.txt' -Path '.\PS'

PowerShell を使用したファイルとフォルダーの移動

PowerShell のファイル移動コマンド Move-Item コマンドレットは、単一のファイルまたはディレクトリを移動するために機能し、ある場所から次の場所にコンテンツをすばやく転送するのに役立つフィルタリング機能を提供します。

以下の例では、以前に作成したファイル TestFile.txt を親ディレクトリに移動します。 .. の構文を使用して現在の場所から親ディレクトリを示し、Windows PowerShell Move-Item コマンドを使用してファイルを移動します。

指図:

Move-Item -Path '.\TestFile.txt' -Destination '..'

Move-Item コマンドを使用して、ファイルを移動できるだけでなく、フォルダーを移動することもできます。

まず、移動する必要があるフォルダーへの -Path パラメーターの値を指定する必要があります。 -Path パラメータからファイル拡張子を削除したことに注意してください。

指図:

Move-Item -Path '.\PSScripts` -Destination '..'

おそらく、作業ディレクトリの直接の親ではないフォルダーにファイルとフォルダーを転送したいと思うでしょう。 次に、-Destination パラメーターにカスタム ディレクトリを指定できます。

指図:

Move-Item -Path '.\PSScripts` -Destination 'C:\Temp'

-Destination パラメーターで指定された宛先フォルダーが存在しない場合、スクリプトはエラーをスローします。 Move-Item コマンドレットを使用する際の注意点は、移動先のディレクトリが存在しない場合、新しいディレクトリが作成されないことです。

これを修正するには、前述の Test-Path および New-Item コマンドを使用できます。 以下のスクリプト ブロックでは、最初に宛先パスが存在するかどうかを確認します。

フォルダーが存在しない場合、スクリプトは最初にフォルダーを作成します。 作成されると、ファイルまたはフォルダーの転送が開始されます。

コード:

$current_folder = "C:\Temp\PS"
$new_folder = "C:\PS\PSScripts"

if (Test-Path -path $new_folder) {
    Move-Item -Path $current_folder -Destination $new_folder
}else{
    New-Item -ItemType 'Directory' -Name $new_folder
    Move-Item -Path $current_folder -Destination $new_folder
}
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - PowerShell File