2

私はこのようなことをしています:

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

ただし、filecontent変数はファイルの内容を保持していないようですsomefile.txt

4

3 に答える 3

2

を使用して、有効なnmakeファイルではないファイルを読み取ることができます!INCLUDE。たとえばversion、1行のテキストを含むバージョンファイルがある場合は、次のように実行できます。

//version file
1.2.4

//makefile
VERSION= \
!INCLUDE <version>

ファイルに複数の行が含まれている場合は機能しません。

于 2015-03-03T16:28:34.920 に答える
1

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]
于 2011-01-18T15:59:16.270 に答える
0

あなたはこのようなことを試すことができます:

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

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

#--- END ---

nmake.exe内で実行されるcmd/batファイルはnmakeの環境に影響を与えることはできないと思います。したがって、一時cmdファイル内のsecret.txtから取得したパスワードを 使用する必要があります。

于 2010-11-07T17:19:31.873 に答える