我想逐行读取文件,但我也想忽略以#开头的行。 我曾尝试使用this solution,但它对我不起作用。我在Windows 8下。
读取所有行的批处理文件
@echo off
setlocal EnableDelayedExpansion
for /f "Tokens=* Delims=" %%x in (aliases.txt) do (
set aliases=!aliases! "%%x"
)
aliases.txt
line 1 to read
# comment to ignore
line 2 to read
答案 0 :(得分:2)
eol字符是指定行结束注释字符的字符。此字符后的任何内容都不会被读取。默认情况下,它是;
,但您可以将其设置为您想要的任何内容。
@echo off
setlocal EnableDelayedExpansion
for /f "eol=# Tokens=* Delims=" %%x in (aliases.txt) do (
set aliases=!aliases! "%%x"
)
答案 1 :(得分:2)
老实说,我无法相信eol
不起作用。作为替代方案,你可以试试这个:
@echo off
setlocal EnableDelayedExpansion
for /f "Tokens=* Delims=" %%x in ('findstr /v /b "#" aliases.txt') do (
set aliases=!aliases! "%%x"
)