我需要解析大约300个文件,这些文件是制表符分隔的。我在下面使用的代码(未完成)是:
for /r C:\mywork2\MAX\ %%f in (*) do (
for /f "delims=TAB" %%i in (%%f) do (
for %%u in (%%i) do (
ECHO %%u
)
)
pause
)
似乎工作正常,除非字段以T,A或B开头,否则ECHO会删除此字符?即,Taxidea_taxus
变为axidea_taxus
。这是一个错误,还是我可以解决它?我应该注意,使用<TAB>
产生相同的效果。
答案 0 :(得分:2)
当您指定delims=TAB
时,处理器会使用字面T
,A
和B
作为分隔符。要使用制表符,您需要输入文字制表符(在脚本中将显示为空格)。
试试这个:
REM Set a variable to the <TAB> character.
REM Make sure you editor doesn't replace Tabs with spaces.
REM Enter an actual <tab> in the SET statement below.
SET "TabChar= "
for /r C:\mywork2\MAX\ %%f in (*) do (
REM Parse with the tab character.
for /f "delims=%TabChar%" %%i in (%%f) do (
for %%u in (%%i) do (
ECHO %%u
)
)
pause
)