我的脚本读取到文件的可变内容,但在某些情况下,文件有新行。变量加载了olny firest line。我用:
set /p varfile=file.txt
是否可以使用忽略的换行符读取文件的内容?我无法通过批量命令找到solition。
答案 0 :(得分:2)
虽然这可能不是您所需要的,但这就是您所要求的。您可以使用for
循环将文件的全部内容捕获到单个变量(最多8191个字节,是吗?)。由于for /f
可以读取文件的内容,因此您最终可以消除您一直滥用的set /p
语句。
@echo off
setlocal enabledelayedexpansion
rem // capture a line break to a variable
set BR=^
rem // Leave the two lines above blank.
for /f "usebackq delims=" %%I in ("file.txt") do (
if not defined contents (
rem // set contents variable to first line of file
set "contents=%%I"
) else (
rem // append line break + next line to variable
set "contents=!contents!!BR!%%I"
)
)
echo(!contents!
现在,由于它包含文本文件的全部内容,您现在要对此变量做什么?