2013-03-21 3 views
0
@echo off 
SET str1=type %1 
SET str2=type %2 
echo File1: %str1% 
echo 
echo File2: %str2% 

Возможно, вы знаете, чего я хочу, но интерпретатор командной строки этого не делает. Как это сделать правильно?Как назначить содержимое файла переменной?

PS. Я имею в виду весь контент, а не только первую строку!

+0

Вы имеете в виду прочитать переменную из файла? – Magoo

+1

Вы можете поместить содержимое по строке в набор переменных. – Endoro

+0

Ответ обновлен ... – Endoro

ответ

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 
+0

Я сделал правление относительно «содержимого». – Endoro

+0

Вопрос обновлен – 0x6B6F77616C74

+0

В чем разница между '% 1' и'% ~ 1'? – 0x6B6F77616C74

Смежные вопросы