2016-11-30 10 views
1

SQLジョブでステップが必要ですが、あるパスにファイルがあるかどうかを確認する必要があります。ような何か:CMDExecが存在する場合は停止します

$file = "\\networklocation\file.bak" 
if (-exists (Test-Path $file)) 
{ 
    throw "$file not found." 
} 

答えて

3

ちょうど-existsスイッチを省略し、$ErrorActionPreferencestopに設定されていることを確認:

$ErrorActionPreference = 'stop' 
$file = "\\networklocation\file.bak" 
if (Test-Path $file) 
{ 
    throw "$file found." 
} 
+0

のEr ...ファイルが存在すれば、彼はやめたいと思う。 –

+0

@WalterMittyそうです。私の答えを編集します - なぜファイルが存在しない場合に例外をスローするのか疑問に思っています(実際に彼が期待している状態です)。 –

+1

まあ、説明してください。このメカニズムで動作するバックアップ/リストアジョブがいくつかあります。1.プロダクトからバックアップを取る。オフィスゾーンでそれを復元する。3.ユーザーの要求に応じて再度実行できるバックアップファイルを削除する。私の論理人ではない –

0

テスト-Pathコマンドレットの戻りブール、あなたがほとんどあります

$file = "\\networklocation\file.bak" 
if (Test-Path $file) 
{ 
    throw "$file not found." 
} 
関連する問題