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 分で行いました
。