Beyond Compare にツールを実装しています。ファイルの内容を読み取り、変数に格納するこのコードがあります
for /f "usebackq tokens=* delims=" %%h in ('type C:\user\userfiles\title.txt') do (
set title=%%h
)
title.txt の内容例
AAA BBB CCCC
今、このコードで%title%の値を渡したい
%varA% %varB% c:\user\output1\%%a c:\user\output2\%%b "c:\user\report.html" %title% /silent
詳述するには:
c:\user\output1\%%a -> %1
c:\user\output2\%%b -> %2
"c:\user\report.html" -> %3
%title% -> %4
ここで、この files.txt は、スクリプトの引数の一部として上記の引数を呼び出します。
file-report layout:side-by-side options:display-all,line-numbers title:%4 output-to:%3 output-options:html-color %1 %2
ここでの問題は、%title% のエコーを実行すると、「AAA BBB CCC」と表示されますが、このコード行では、
%varA% %varB% c:\user\output1\%%a c:\user\output2\%%b "c:\user\report.html" %title% /silent
「AAA」である最初のスペースの前の最初の単語のみを読み取ります
すでに二重引用符 ("%title%") で囲みましたが、「指定されたファイルが見つかりません」というメッセージが表示されます。