2017-02-06 12 views
-1

特定の(サーバー)パスから特定のファイルを削除するバッチファイルを作成します。次のコードは123.pdfを削除しますが、ファイル名を特に言及していない場合は、フォルダのすべての内容を削除するかどうか尋ねられます。バッチ:指定されたファイルのコマンドを削除する

パスとファイル名は別のスクリプトによって自動的に挿入され、結果がnullの場合もあります。つまり、ファイル名が挿入されません。 ファイル名が指定されていない場合は、フォルダの内容全体が削除されるため、yes/noのアクセス権を要求しないように設定します。これは危険です。

ファイル名を除いたパスのみがコマンドラインに含まれていれば、そのファイルを削除するだけです。スキップして何も削除しないでください。

Exemple:

del "\\tbiscan\SCAN\Dosare de executare scanate\Curtea de Apel Bacau\BACAU\280555A\123.pdf" 

削除するには、あなたが%targetFile%変数をAsummingすると、ファイルへの(またはフォルダへの)参照が含まれてい

2>nul (<"%targetFile%" break) && del "%targetFile%" 

で試すことができます

+1

どのようにすれば、すべてのコードが表示されますか。 – Squashman

答えて

1

を助けてくださいこのコード:

  • 入力リダイレクション演算子を使用してファイルを開こうとします(breakコマンドはファイルに何も実行しませんが、エラーレベルを上げないコマンドが必要ですがbreakなどは使用しません)。call;type nulを使用できます)。ファイルを開くことができる場合
    • エラーと条件演算子&&が(前回は失敗しなかった場合は、次のコマンドを実行する)delコマンドを実行しますないがあるでしょう。
    • ファイルを開くことができない場合(読み取り不可、フォルダの場合、存在しない場合)、リダイレクトは実行できず、エラーが生成されます(2>nulによって隠されます)。&&条件演算子実行されません。
+0

私はこれがうまくいくと思っています(私はそれを次の時間にテストします)が、プロセスを遅くすることはありませんか? – MisterA

+0

@MisterA、そうすべきではありません。ファイルが存在する場合、ファイルは読み込まれず、読み込み専用に開かれ、再度閉じられます。 –

関連する問題