批处理 - 读取一个文件的行,除了以 # 开头的行
Batch - Read lines of one file except the ones starting with #
我想逐行读取一个文件,但我也想忽略以#开头的行。
我试过使用 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
eol字符是指定行注释字符结束的字符。该字符之后的行中的任何内容都不会被读取。默认情况下,它是 ;
,但您可以将其设置为任何您想要的。
@echo off
setlocal EnableDelayedExpansion
for /f "eol=# Tokens=* Delims=" %%x in (aliases.txt) do (
set aliases=!aliases! "%%x"
)
老实说,我不敢相信 eol
没有 work.As 替代方案,您可以试试这个:
@echo off
setlocal EnableDelayedExpansion
for /f "Tokens=* Delims=" %%x in ('findstr /v /b "#" aliases.txt') do (
set aliases=!aliases! "%%x"
)
我想逐行读取一个文件,但我也想忽略以#开头的行。 我试过使用 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
eol字符是指定行注释字符结束的字符。该字符之后的行中的任何内容都不会被读取。默认情况下,它是 ;
,但您可以将其设置为任何您想要的。
@echo off
setlocal EnableDelayedExpansion
for /f "eol=# Tokens=* Delims=" %%x in (aliases.txt) do (
set aliases=!aliases! "%%x"
)
老实说,我不敢相信 eol
没有 work.As 替代方案,您可以试试这个:
@echo off
setlocal EnableDelayedExpansion
for /f "Tokens=* Delims=" %%x in ('findstr /v /b "#" aliases.txt') do (
set aliases=!aliases! "%%x"
)