PowerShell フォルダーが存在しない場合は作成する

Powershell Forudaga Cun Zaishinai Chang Heha Zuo Chengsuru



フォルダーがたくさんあり、新しいフォルダーを作成したいのですが、そのフォルダーが既に存在するかどうかがわかりませんか?このプロセスでは、最初にフォルダーが存在するかどうかに関係なく検索し、存在しない場合は作成するため、時間がかかることがあります。

驚くことに、少しのスクリプトの知識があれば、PowerShell を使用すると時間と労力を大幅に節約できます。







持続する!そのタスクのスクリプト全体を学ぶ必要はありません。フォルダーが存在しない場合にフォルダーを作成する 5 つの方法と、そこで使用されるすべてのコマンドの適切な説明を提供したからです。



概要:



スクリプトに進む前に、フォルダーが存在するかどうかを確認する方法と、PowerShell でフォルダーを作成する方法を学びましょう。





PowerShell にフォルダーが既に存在するかどうかを確認する

テストパス コマンドは、フォルダーが PowerShell に既に存在するかどうかを確認するために使用されます。フォルダーが存在するかどうかを確認するには、次のコマンドを使用してフォルダーのパスを Test-Path コマンドに指定します。 -パス パラメータ。代わりに、Test-Path コマンドは次の結果を返します。 真実 存在する場合は値、そして 間違い 存在しない場合。

たとえば、指定したフォルダーが存在するかどうかを、 テストパス 指示:



テストパス -パス 「C:\ドキュメント」

フォルダーの存在を確認するには、まず、 テストパス コマンドを入力し、次のコマンドを使用してフォルダー パスを指定します。 -パス パラメータ:

出力は 間違い 指定されたフォルダーが存在しないためです。

PowerShell で新しいフォルダーを作成する

新商品 コマンドは PowerShell に新しいフォルダーを作成します。ディレクトリを作成するには、次のコマンドを使用して New-Item コマンドにディレクトリ パスを指定します。 -パス パラメータ。最も重要なことは、 -アイテムタイプ パラメーターを使用してフォルダーを作成し、 ディレクトリ 価値。 -ItemType パラメーターと Directory 値を指定しない場合、New-Item コマンドはフォルダーではなくファイルを作成します。

たとえば、次のコマンドを使用して新しいフォルダーを作成してみましょう。 新商品 PowerShell のコマンド:

新商品 -パス 「C:\ドキュメント」 -アイテムタイプ ディレクトリ

新しいフォルダーを作成するには:

  • まず、 新商品 コマンドを実行し、作成するフォルダーのパスを指定します。 -パス パラメータ。
  • その後、 ディレクトリ の価値 -アイテムタイプ パラメーターを使用して、ファイルの代わりにフォルダーを作成するようにコンソールに指示します。

新しいフォルダーが作成され、その作成時間も上記の出力に表示されます。

PowerShell にフォルダーが存在しない場合は作成する

クエリから、次のようになることがわかります。 if-else このシナリオでは、フォルダーが存在しない場合は新しいフォルダーを作成することが示されています。 PowerShell にフォルダーが存在しない場合にフォルダーを作成するには 5 つの方法があり、それぞれの方法に if-else 条件シナリオが含まれます。

素早い解決策

PowerShell コンソールにフォルダーが存在しない場合にフォルダーを作成する簡単な解決策は次のとおりです。

もし ( -ない ( テストパス -パス 「C:\新しいフォルダー」 ) ) { 新商品 -パス 「C:\新しいフォルダー」 -アイテムタイプ ディレクトリ }

指定されたディレクトリは存在しないため、作成されます。

1. PowerShell にフォルダーが存在しない場合は、Test-Path を使用して作成する

テストパス コマンドはフォルダーの存在を確認し、フォルダーが存在するかどうかをコンソールに通知します。 Test-Path および New-Item コマンドと、 If-Else 条件は、PowerShell にフォルダーが存在しない場合にフォルダーを作成するのに役立ちます。

たとえば、Test-Path コマンドを使用してフォルダーが存在しない場合にフォルダーを作成するコードを観察してみましょう。

もし ( テストパス -パス 「C:\新しいフォルダー」 ) {

書き込みホスト 「指定されたフォルダーはすでに存在します」
}
それ以外
{
新商品 -パス 「C:\新しいフォルダー」 -アイテムタイプ ディレクトリ
}

を使用してフォルダーを作成するには、 テストパス そして 新商品 指示:

  • まず、 もし を使用した条件 テストパス コマンドを使用してフォルダーを指定しました -パス フォルダーの存在を確認します。
  • 指定したフォルダーが存在する場合、メッセージは 書き込みホスト フォルダーが既に存在することを示すコマンドであり、スクリプトはここで終了します。
  • それ以外の場合、プログラムは次のセクションに進みます。
  • else 条件では、 新商品 コマンドを実行し、作成するフォルダーのパスを指定します。
  • フォルダーを作成するコンソールをより明確に説明するために、 -アイテムタイプ プロパティと指定された値 ディレクトリ :

出力: フォルダーが存在しないため、指定されたディレクトリに新しいフォルダーが作成されます。

2. PowerShell に Get-Item を使用してフォルダーが存在しない場合に作成する

アイテムの取得 コマンドは、指定された場所からファイルまたはフォルダーを取得します。 Get-Item コマンドでは、if 条件を使用してフォルダーの存在を確認することもできます。

PowerShell に存在しない場合に、Get-Item コマンドを使用してフォルダーを作成する方法は次のとおりです。

もし ( アイテムの取得 -パス 「C:\ドキュメント」 -エラーアクション 無視する ) {
書き込みホスト 'ファイルが既に存在します'
}
それ以外 {
新商品 -冗長 「C:\ドキュメント」 -アイテムタイプ ディレクトリ
}

フォルダーが存在しない場合にフォルダーを作成するには、 アイテムの取得 指示:

  • まず、 もし 条件、どこで使用するか アイテムの取得 コマンドを使用してフォルダー パスを指定します。 -パス パラメータを使用して、それがすでに存在するかどうかを確認します。
  • また、 -エラーアクション パラメータを指定して、 無視する コードの実行中に発生する可能性のあるエラーを無視する値。
  • フォルダーが既に存在する場合、コンソールにはフォルダーが既に存在することを示すメッセージが表示されます。 書き込みホスト 指示。
  • フォルダーが存在しない場合、プログラムは else 状態に移行し、そこで新しいフォルダーが作成されます。
  • else 条件では、 新商品 コマンドで、作成するフォルダーのパスを指定し、 -アイテムタイプ 値を持つパラメータ ディレクトリ それに指定されています。
  • 同時に指定します -冗長 パラメーターを使用して、より詳細な出力を取得します。

スクリーンショットでは、指定されたフォルダーが存在しないため、新しいフォルダーが作成されたことが確認できます。

3. PowerShell に Get-ChildItem を使用してフォルダーが存在しない場合に作成する

Get-ChildItem コマンドは、指定されたディレクトリからファイルまたはフォルダーを取得します。 New-Item コマンドおよび If-else 条件とともに使用して、PowerShell にフォルダーが存在しない場合にフォルダーを作成できます。

Get-ChildItem コマンドを使用してフォルダーが存在しない場合にフォルダーを作成するサンプル コードを次に示します。

もし ( Get-ChildItem -パス 「C:\ドキュメント」 -エラーアクション 無視する )
{
書き込みホスト 「フォルダはすでに存在します」
}
それ以外
{
新商品 「C:\ドキュメント」 -アイテムタイプ ディレクトリ
}

注記: 上記のスニペットのコード説明は、 アイテムの取得 コマンドを除く Get-ChildItem 指示:

指定されたフォルダーは存在しないため、新しいフォルダーが作成されました。

4. PowerShell にフォルダーが存在しない場合は、Test-Path と Mkdir を使用して作成する

mkdir コマンドは PowerShell にフォルダーを作成します。別名があります MD これも Mkdir コマンドと同じように機能します。このコマンドは、Test-Path コマンドと if-else 条件を組み合わせて、存在しないフォルダーを作成することもできます。

PowerShell に存在しない場合に md と Test-Path コマンドを使用してフォルダーを作成する例を次に示します。

もし ( テストパス -パス 「C:\フォルダー」 ) {

書き込みホスト 「フォルダはすでに存在します」
}
それ以外
{
MD 「C:\フォルダー」
}

フォルダーが存在しない場合にフォルダーを作成するには:

  • まず、 もし 条件を指定して、 テストパス コマンドとフォルダーを実行して、フォルダーが存在するかどうかを確認します。
  • フォルダーが存在する場合は、ここでコードを終了し、既存のフォルダーを出力します。
  • それ以外の場合は、次のコマンドを使用してフォルダーを作成します。 MD フォルダー名とパスを指定してコマンドを実行します。

出力には、フォルダーが存在しないため、新しいフォルダーが作成されたことが示されます。

5. PowerShell に [System.IO.File]::Exists() を使用してフォルダーが存在しない場合にフォルダーを作成する

[System.IO.File]::Exists() コマンドは、指定されたフォルダーが存在するかどうかを確認します。 if-else 条件と New-Item コマンドを組み合わせて、PowerShell にフォルダーが存在しない場合にフォルダーを作成できます。

PowerShell に存在しない場合に、[System.IO.File]::Exists() コマンドを使用してフォルダーを作成する方法は次のとおりです。

もし ( [ System.IO.ディレクトリ ::存在します ( 「C:\ドキュメント」 ) )
{
書き込みホスト 「フォルダはすでに存在します」
}
それ以外
{
新商品 「C:\ドキュメント」 -アイテムタイプ ディレクトリ
}

上記のコードでは次のようになります。

  • まず、 もし 条件を指定して、 [System.IO.Directory]::Exists(フォルダーパス) その中にコマンドを実行して、そのフォルダーが存在するかどうかを確認します。
  • ディレクトリが見つかった場合、コンソールにはフォルダーが存在することが表示されます。
  • それ以外の場合は、 新商品 指示:

指定されたフォルダーが存在しないため、New-Item コマンドを使用して新しいフォルダーが作成されます。

ボーナス ヒント: PowerShell にフォルダーが既に存在する場合は作成する

-力 パラメータを使用して、 新商品 コマンドは、PowerShell の既存のフォルダーを上書きするために使用されます。 -Force パラメーターは、PowerShell の指定されたパスにある既存の項目を上書きします。フォルダーが既に存在する場合にフォルダーを作成するには、New-Item コマンドとともに -Force パラメーターを追加するだけです。

既存のフォルダーを上書きする方法は次のとおりです。

新商品 -パス 「C:\ドキュメント」 -アイテムタイプ ディレクトリ -力

PowerShell にフォルダーが既に存在する場合にフォルダーを作成するには:

  • まず、New-Item コマンドを使用し、-path パラメーターを使用して作成するフォルダーを指定します。
  • 次に、-ItemType パラメーターを使用して値を指定し、フォルダーを作成するようにコンソールに指示します。
  • 最後に、既存のフォルダーを上書きするには、-Force パラメーターを使用します。

指定したパスのフォルダーが正常に上書きされました。

結論

フォルダーが存在しない場合にフォルダーを作成するには、まずフォルダーの存在を確認します。 テストパス 指示。次に、 新商品 フォルダーが存在しない場合は、フォルダーを作成するコマンドを実行します。この操作を一度に実行するには、 if-else この記事の方法 1 ですでに説明したように、Test-Path コマンドおよび New-Item コマンドとともに条件を設定します。