Can't figure out how to read file from nmake
I am doing something like this:
all:
@SET /p filecontent= < 开发者_StackOverflowsomefile.txt
@echo %filecontent%
However the filecontent
variable does not seem to hold the contents of the file somefile.txt
.
It is possible to read a file that is not a valid nmake file using !INCLUDE
. For examle if we have a version file version
that contains a single line of text we can do that:
//version file
1.2.4
//makefile
VERSION= \
!INCLUDE <version>
It is not working if the file contains more than one line.
Simply ensure somefile.txt
is in acceptable nmake syntax, and then !include
it. Thus:
c:>type somefile.txt
PASSWORD=secret
c:>type makefile
!INCLUDE somefile.txt
!MESSAGE Password is [$(PASSWORD)]
c:>nmake -nologo
Password is [secret]
You could try something like this:
# ---- vitaly.mak ----
target1:
# create and invoke a temporary cmd file
@<<mygetpassword.cmd
@echo off
setlocal
@SET /p filecontent= < secret.txt
@echo %filecontent%
endlocal
<<
#--- END ---
I think a cmd/bat file run within nmake.exe cannot affect the environment of nmake. So you must use the password that you grabbed from the secret.txt within the temporary cmd file.
精彩评论