Articles

Test if a File Exists with Powershell

シンプルで、#SQLNewBloggers としてブログを始めようとしている人たちのお手本になるような、もう 1 つの投稿です。

少し前に、ガイドブック アプリケーションに使用される SQL Saturday XML ファイルをダウンロードする PowerShell スクリプト (PoSh) を書きました。 これらのファイルには、収集、変換、および保管したい情報がたくさん含まれています。

しかし、このスクリプトはあまり良くありませんでした。 基本的には、設定された回数をループし、ファイルを再ダウンロードします。

私が作りたかった機能の1つは、ファイルが存在するかどうかをチェックし、存在しない場合はダウンロードするというものでした。 しかし、ファイルが存在する場合は、そのファイルをスキップします。

早速検索してみたところ、Test-Path コマンドレットへのリンクがいくつか見つかりました。 基本的には、これにファイル パスを与えて、true または false を返します。 ほとんど私が必要とするものと同じです。

if (Test-Path $DestinationFile) {

#do something

}

ただし、ファイルが存在しない場合にアクションを起こしたいと思います。 ほとんどの言語では、「ない」ことを示すために、前に「!」を付けます。 >が「より大きい」を意味しないように、PoShではそれは通用しません。

if (-NOT Test-Path $DestinationFile) {

#do something

}

その代わりに、-NOTのための単一の式を持つ必要がありますが、これは括弧を増やすことを意味します。 大したことではありません。

if (-NOT (Test-Path $DestinationFile)) {

#do something

}

これでうまくいき、今では必要なファイルだけをダウンロードしています。

SQLNewBlogger

この投稿は、スクリプトに取り組み始めたときに思いつきました。 実際、解決策を見つけ、コードに追加し、テストするよりも、この記事を書く方が時間がかかりました。 このプロセスは約 5 分でした。

この記事の執筆には約10分かかりました。 また、スクリプトへの同様の変更に基づいた 2 番目の投稿もありましたので、それはさらに 5 分で行いました

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です