我有大约 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>
产生相同的效果。
最佳答案
当您指定 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
)
关于windows - 批处理 TAB 分隔符还会在 ECHO 后删除字符 T、A 和 B,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27662029/