2017-12-22 16 views
0

入力ファイルを読み込み、それに対応してフォルダのコンテンツを削除するが、最後の5つのアイテムをスキップするバッチスクリプトを作成しました。ファイルとフォルダを選択的に削除する

@echo off 
setlocal enableDelayedExpansion 

for /f "delims=" %%x in (sample.txt) do (
    set folder=%%x 
    set del_folder=D:\myfolder\work\!folder!\reports 
REM !del_folder! 
    FOR /f "skip=5 delims=" %%a IN (' DIR !del_folder! /o-d /b') DO RD /S /Q "echo Deleting folder contents of !del_folder!\%%a" 
) 

(それはフォルダ名を含む)

alpha 
bravo 
charlie 
tango 
... 
  1. 私は残りのフォルダのループ
  2. からブラボーとタンゴを除外することができますどのようにアルファやチャーリー、すなわち同じようにsample.txtは、見えますターゲットフォルダ内の特定のフォルダまたはファイルを除外する方法

例、 はD:\myfolder\work\charlie\reports

任意の提案は本当に参考になるために行くフォルダ'java'D:\myfolder\work\alpha\reports下にあるファイル'report.yml'

が同じ削除取得から除外する必要がありますと言います。前もって感謝します。この行を変更し、!folder!\reports内のいくつかのファイルを除外するには

for /f "delims=" %%x in ('findstr /v /c:"folder 1" /c:"folder 2" "sample.txt"') do (
  • for /f "delims=" %%x in (sample.txt) do (
    

    :この行を変更し、Sample.txtをファイルで一部のフォルダを除外するために

  • 答えて

    1
    1. FOR /f "skip=5 delims=" %%a IN (' DIR !del_folder! /o-d /b') DO RD /S /Q... 
      

      for /f "skip=5 delims=" %%a in ('dir !del_folder! /o-d /b^|findstr /v /c:"string 1" /c "string 2"') do del /q /f "%~fa" 
      

    にちょうどあなたの目的のために folder 1folder 2string 1、および string 2を編集します。テストされていないので、問題がある場合はコメントしてください。

    +0

    おかげで、本当にあなたはセクション説明してくださいすることができます遅れ応答のため申し訳ありません – dev

    +0

    を、助けた多く、 - '「%〜FA」'と '/ B^|' – dev

    +0

    が、私は以下の問題に直面しています 'FINDSTRを:/ c ignored FINDSTR:classpath-term.yamlを開くことができません classpath-term.yamlはそのフォルダ内の唯一のファイルです – dev

    関連する問題