テキストファイルから値を読み取り、設定するバッチファイルがあります。タブデリミタが機能しないバッチコマンド
for /f "tokens=* delims=<TAB>" %%x in (input.txt) do set %%x
テキストファイル(INPUT.TXT):
a=one b=two c=three d=four
しかし、変数が正しく設定されていない は、しかし、テキストファイルには、さまざまな変数
バッチファイルコマンドのタブが含まれています。ここ
テキストファイルから値を読み取り、設定するバッチファイルがあります。タブデリミタが機能しないバッチコマンド
for /f "tokens=* delims=<TAB>" %%x in (input.txt) do set %%x
テキストファイル(INPUT.TXT):
a=one b=two c=three d=four
しかし、変数が正しく設定されていない は、しかし、テキストファイルには、さまざまな変数
バッチファイルコマンドのタブが含まれています。ここ
2点:あなたはスペースを無視する場合を除き、あなたは、delims=
オプションを含める必要はありませんので、
デフォルトdelims=
値は、区切り文字としてスペースとタブを含めますデリミタとして!
あなたtokens=*
オプションは、行のすべてのトークンが含まれているあなたのfor
コマンド(この場合は%%x
)につのトークン文字を定義します。あなたはtokens=1-4
を指定する必要が4トークンを取得したい場合は、別のものにトークン文字を開始し、それに応じて各トークンを処理:
を。
for /f "tokens=1-4" %%a in (input.txt) do (
set "%%a" & set "%%b" & set "%%c" & set "%%d"
)
あなたのテキストファイルは、(トークンの異なる/未知の番号付き)数行た場合、これは、でも動作します:トリックは
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (input.txt) do (
set line=%%i
for %%x in ("!line: =","!") do set %%x
)
です:引用符で文字列を囲むことによって、区切り文字が扱われていません区切り文字としてこれ以上使用できません。
喜んfor %%x ...
で処理することができ
"a=one","b=two","c=three","d=four"
:だから、文字列の最初と最後に引用符を追加し、「引用コンマ引用」とそれぞれTAB
を交換することに文字列を変更します