Не могу понять, как читать файл из nmake - PullRequest
1 голос
/ 19 сентября 2010

Я делаю что-то вроде этого:

all: 
    @SET /p filecontent= < somefile.txt
    @echo %filecontent%

Однако переменная filecontent не содержит содержимого файла somefile.txt.

Ответы [ 3 ]

1 голос
/ 18 января 2011

Просто убедитесь, что somefile.txt соответствует допустимому синтаксису nmake, а затем !include. Таким образом:

c:>type somefile.txt
PASSWORD=secret
c:>type makefile
!INCLUDE somefile.txt
!MESSAGE Password is [$(PASSWORD)]
c:>nmake -nologo
Password is [secret]
1 голос
/ 03 марта 2015

Можно прочитать файл, который не является допустимым файлом nmake, используя !INCLUDE.Например, если у нас есть файл версии version, который содержит одну строку текста, мы можем сделать это:

//version file
1.2.4

//makefile
VERSION= \
!INCLUDE <version>

Это не работает, если файл содержит более одной строки.

0 голосов
/ 07 ноября 2010

Вы можете попробовать что-то вроде этого:

# ---- vitaly.mak ----

target1:
# create and invoke a temporary cmd file
@<<mygetpassword.cmd
 @echo off
 setlocal
 @SET /p filecontent= < secret.txt
 @echo %filecontent%
 endlocal
<<

#--- END ---

Я думаю, файл cmd / bat, запущенный в nmake.exe, не может повлиять на среду nmake .Таким образом, вы должны использовать пароль, который вы взяли из секретного.txt во временном файле cmd.

...