すでに尋ねられていると言う前に、私は知っています。私は過去1時間にこれを研究していますが、それがなぜ機能していないのかまだ分かりません。以下に示すように、私は直接、まったく同じ質問への答えからコードをコピーして貼り付けました:テキストファイルから変数に値を渡す
今@echo off
setlocal ENABLEDELAYEDEXPANSION
set vidx=0
pause
FOR /F "tokens=*" %%A IN (file.txt) do (
SET /A vidx=!vidx! + 1
set var!vidx!=%%A
pause
)
set var
pause
、「file.txtは」は何のスペースを持っていない場合、これは、完全に正常に動作します。しかし、ファイル名にスペースが含まれていると、すべてが無駄になります。私は引用符で名前を入れましたが、すべてのプログラムはvar1に "space.txtを含むファイル"と設定されています。実際には、スペースに関係なく、どこでも引用符を入れてください。私はそれが本当に簡単な答えだと確信しています、私はそれを見つけるように見えません。
ご協力いただきありがとうございます。それは十分に文書化されていない事実として
@echo off
setlocal ENABLEDELAYEDEXPANSION
set vidx=0
pause
FOR /F "useback tokens=*" %%A IN ("file.txt") do (
SET /A vidx=!vidx! + 1
set var!vidx!=%%A
pause
)
set var
pause
:
Works !!!どうもありがとうございます。なぜそれが機能していないのかを調べるのにずっと時間を費やしていましたが、大きな頭痛と時間が無駄になった後、私はここで尋ねることにしました。心から感謝する! – Silver