web-dev-qa-db-ja.com

フォルダが存在するかどうかを比較する方法と存在しない場合は、彼女を作成します

次の問題があります。ディレクトリが存在するかどうかを比較するスクリプトを作成する必要があります。ディレクトリが存在しない場合は作成します。 Linuxシェルでは、パラメータ-Fを使用してディレクトリが存在するかどうかを確認します。 PowerShellでテストするにはどうすればよいですか?

Linuxシェルの場合:

DIR=FOLDER

if [ -f $DIR ]
then
    echo "FOLDER EXIST";
else
    echo "FOLDER NOT EXIST";
    mkdir $DIR
fi

Windows PowerShellでこの比較を行うにはどうすればよいですか?

$DIRE = "C:\DIRETORIO"

if ( -e $DIRE ) {
    echo "Directory Exists"
} else {
    md DIRETORIO
}
7

コメントによると、Test-Pathは、ファイルまたはディレクトリの存在を確認するために使用する必要があるPowerShellコマンドレットです。

$DIRE = "C:\DIRETORIO"

if ( Test-Path $DIRE ) {
    echo "Directory Exists"
} else {
    md DIRETORIO
}

Test-Pathコマンドレットは、パスのすべての要素が存在するかどうかを判別します。すべての要素が存在する場合は$ Trueを返し、欠落している要素がある場合は$ Falseを返します。また、パス構文が有効かどうか、パスがコンテナ、ターミナル、またはリーフ要素につながるかどうかもわかります。

5
Mark Wragg

New-Itemコマンドレットをforceパラメータとともに使用することもできます。ディレクトリが存在するかどうかを確認する必要はありません:

New-Item -Path C:\tmp\test\abc -ItemType Directory -Force
10
Martin Brandl