0
@echo off

for /f "tokens=* delims= " %%f in (myfile) do (
  set line=%%f
  call :processToken
  )
  goto :eof

:processToken

  for /f "tokens=1* delims=/" %%a in (%line%) do (
  echo Got one token: %%a
  set line=%%b
  )
  if not "%line%" == "" goto :processToken
  goto :eof

私のテキストファイルには、次のような行があります

"test a","test b","testdim"
"Line 2", "test d","testdin"

そのため、for /f "tokens=1* delims=/" %%a in (%line%) do (ECHO ON で表示すると、%line% が として表示され"test a" "test b" "testdim"ます。

コンマが欠落している理由はわかりませんが"delims=,"、各行からこれらの値を取得するために使用できるように、これらのコンマが必要です。

4

2 に答える 2

2

これを試して、いくつかの二重引用符を追加してください:

@echo off &SETLOCAL

for /f "tokens=* delims= " %%f in (file) do (
  set "line=%%f"
  call :processToken
  )
  goto :eof

:processToken
  ECHO "%line%"

  for /f "tokens=1* delims=/" %%a in ("%line%") do (
    echo Got one token: "%%a"
    set "line=%%b"
    )
  if not "%line%" == "" goto :processToken

  goto :eof
于 2013-06-17T06:08:44.683 に答える
0
@echo off

for /f "tokens=* delims= " %%f in (myfile) do (
   set line=%%f
   call :processToken
)
goto :eof

:processToken

for %%a in (%line%) do (
   echo Got one token: %%a
)
goto :eof
于 2013-06-17T14:12:29.237 に答える