Ver.2だとファイル名やパスにスペースを含む場合に正しくカウントできなかった
(デリミタにスペースを含むため)
https://nakapon.hatenablog.com/entry/2019/11/27/190735
カラム位置固定なのを利用し、デリミタを\のみにし
第一トークンの先頭53バイトを落として判定に変更
(0オリジン)
@echo off setlocal enabledelayedexpansion SET PATH=C:\Program Files\7z;%PATH% SET OLD=AAA SET CNT=0 for /F "USEBACKQ tokens=1 delims=\" %%a in ( `7z ^l -pdummy %1 ^| findstr /r /c:" [.D][.R][.H][.S][.A] "` ) do ( set NEW=%%a set NEW=!NEW:~53! if not !NEW! == !OLD! ( set OLD=!NEW! set /a CNT=CNT+1 echo !CNT! if !CNT! geq 2 ( exit /b 9 ) ) ) exit /b 0