0

バッチ スクリプトを .bat ファイルに使用して、絶対パスから最後のフォルダーを取得し、文字列と比較します。たとえば、C:\Scripts\ (run.bat を開始する場所) とサブフォルダー C:\Scripts\a\、C:\Scripts\b\results、C:\Scripts\c\results があります。名前が「results」であるフォルダーを検索したいのですが、それが何かを行うことがわかったとき(たとえば、カウンターをインクリメントするため)。

set /A Counter=0 for /d /r %%F in (*.*) do ( set path=%FF rem if the last folder from the path is = "results" then do some stuff if path.contains("results") set /A Counter+=1 )

echo %Counter%

4

1 に答える 1

0
@ECHO OFF
SETLOCAL
set Counter=0
for /f %%F in ('dir /s/b/ad') do (
 FOR /f %%p IN ("%%F") DO (
 IF /i "%%~nxp"=="results" set /A Counter+=1
 )
)
ECHO %counter%

一方で、

DIR /s/ad/b |FINDSTR /i /e "\results"|FIND /c /v ""

同じカウントが表示されます。

しかし、これらの方法のいずれも、「結果」ディレクトリの出現をカウントします-それが最下位レベルにあるかどうかに関係なく、...\resultsサブディレクトリがある場合はカウントされます。

于 2013-03-14T14:19:40.370 に答える