2

テキスト ファイルにリストされているすべてのファイルをコンパイルするバッチ スクリプトを作成していますが、既存の変数の末尾に行を連結する方法がわかりません。

バッチ スクリプト:

@echo off
SET files=

for /f "tokens=*" %%a in (files.txt) do (
    SET files=%files% %1 %%a
)

echo %files%
pause

これは files.txt です:

Main.cpp
Player.cpp

現時点でこれを実行すると、次のように出力されます: http://gyazo.com/5f397b818fee60a631a24e9efbca3abd.png

(画像載せれなかったので誰か教えていただけると嬉しいです)

出力するタイミング:「Main.cpp Player.cpp」

4

1 に答える 1

2

CALLまたはENABLEDELAYEDEXPANSIONを使用しない場合、変数 "Files" の値をFORループ内で再割り当てすることはできません。また、引数 var %1を使用していますが、これは必要ありません。 .

@Echo OFF

For /F "Usebackq Tokens=*" %%# in (
    "Files.txt"
) Do (
    Call Set "Files=%%Files%% %%#"
)

Echo Files = %Files%

Pause&Exit

Files.txt の内容:

test1.cpp
test2.cpp
test3.cpp

出力:

Files =  test1.cpp test2.cpp test3.cpp
于 2013-04-27T19:49:13.747 に答える