バッチファイルで strtok 的な変数の分割切り出し処理

%PATH% の各ディレクトリを一つずつ処理する(ここでは表示するだけ)

@echo off

setlocal
set "PATHS=%PATH%"
:loop
    for /F "tokens=1,* delims=;" %%I in ("%PATHS%") do (
        echo %%I
        set "PATHS=%%J"
    )
    if not "%PATHS%" == "" goto loop

endlocal
$ strtok
C:\MinGW\bin
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
C:\ProgramData\Oracle\Java\javapath
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0
C:\TDM-GCC-64\bin
C:\Program Files\Git\cmd
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\WINDOWS\System32\OpenSSH\
C:\Program Files\Steel Bank Common Lisp\1.4.2\
C:\Users\hymko\AppData\Local\Microsoft\WindowsApps
C:\Program Files\Mercurial
C:\Program Files\Microsoft VS Code\bin
C:\Users\hymko\Share\Program Files\vim80-kaoriya-win64
C:\Users\hymko\Share\bin64
C:\Users\hymko\Share\bin
C:\Users\hymko\go\bin
c:\go\bin
C:\Python27