次の問題があります。データベースからフィールドを読み取っています。これらのフィールドはすべて必須ではありません。エルゴ、それらのすべてが入力されているわけではありません。私が抱えている問題は、バッチ (ms dos) とトークン機能にあります。
例を挙げましょう:
問題のフィールドは次のとおりです: (例)
First Name: John
Last Name: Smith
Address: 123 Fake Street
Postal Code: 45612
Company: SomeCo
Department: Accounting
Floor: 4
Phone: 123-555-5555
Mobile: 123-555-5556
このコードを実行すると:
FOR /F "tokens=1-9, delims=," %%a in (info_file.txt) DO echo %%a, %%b, %%c, %%d, %%e, %%f, %%g, %%h, %%i
出力は次のようになります。
%%a= John
%%b= Smith
%%c= 123 Fake Street
%%d= 45612
%%e= SomeCo
%%f= Accounting
%%g= 4
%%h= 123-555-5555
%%i= 123-555-5556
すべてが素晴らしいです。すべてのエコーが正しく表示されます。しかし!これらのフィールドのいずれかが欠落している場合、たとえば:
First Name: John
Last Name: Smith
Address: 123 Fake Street
Postal Code: <missing info; consider this line blank>
Company: SomeCo
Department: <missing info; consider this line blank>
Floor: 4
Phone: 123-555-5555
Mobile: 123-555-5556
私の出力は次のようになります。
%%a= John
%%b= Smith
%%c= 123 Fake Street
%%d= SomeCo
%%e= 4
%%f= 123-555-5555
%%g= 123-555-5556
%%h= <not used; Because there is not enough lines available>
%%i= <not used; Because there is not enough lines available>
これがどのようにフラストレーションにつながるかがわかります。私の質問は、そのスペースの情報が空白であっても、
すべてが常に整列していることを確認するにはどうすればよいですか?%%<variables>