如何将文件内容分配给变量?

时间:2013-03-21 17:51:04

标签: windows if-statement for-loop batch-file cmd

@echo off
SET str1=type %1
SET str2=type %2
echo File1: %str1%
echo 
echo File2: %str2%

您可能知道我想要什么,但命令行解释器却没有。怎么做得好?

PS。我的意思是整个内容,不仅仅是第一行!

1 个答案:

答案 0 :(得分:1)

对于内容(所有行):

@echo off &setlocal enabledelayedexpansion
set "files=1"
if "%~1"=="" set "files="
if "%~2"=="" set "files="
if not defined files echo Missing filename(s^).&goto:eof
:: read the first file
set /a cnt1=0
for /f "usebackqdelims=" %%i in ("%~1") do set /a cnt1+=1 &set "str1!cnt1!=%%i"
:: read the second file
set /a cnt2=0
for /f "usebackqdelims=" %%i in ("%~2") do set /a cnt2+=1 &set "str2!cnt2!=%%i"
:: write the first file
echo File1:
for /l %%i in (1,1,%cnt1%) do echo !str1%%i!
:: write the second file
echo File2:
for /l %%i in (1,1,%cnt2%) do echo !str2%%i!
endlocal