
私はバッチファイルしか使用できないInformaticaプラットフォームを使用しています。現在、次のコマンドでファイル名のリストを作成しています。
dir /b /a-d
850_B_4545703_.txt
850_B_003029660_.txt
850_B_069029548_.txt
850_B_188789_.txt
850_C_ENT_1712865_.txt
850_C_ENT_1712871_.txt
850_C_1712877_.txt
しかし、Informaticaがこのリストを使用してファイルを検索するには、フラットファイル接続で使用されるパスを追加する必要があります。
\\jdeappp03\EDI\
私が実現しようとしているのは、以下を出力するバッチ ファイルです。
\\jdeappp03\EDI\850_B_4545703_.txt
\\jdeappp03\EDI\850_B_003029660_.txt
\\jdeappp03\EDI\850_B_069029548_.txt
\\jdeappp03\EDI\850_B_188789_.txt
\\jdeappp03\EDI\850_C_ENT_1712865_.txt
\\jdeappp03\EDI\850_C_ENT_1712871_.txt
\\jdeappp03\EDI\850_C_1712877_.txt
使用してみましたdir /s/b *.txt
が、これは絶対パスを与えるため、Informatica のセットアップではファイルを見つけるのに使用できません。
バッチファイルを使用して希望する結果を得る方法はありますか?
答え1
バッチ ファイルでは次のコマンドを使用できます。
for /f "delims=" %%a in ('dir /b /a-d <PATH>') do (echo \\jdeappp03\EDI\%%a)
コマンドの周囲に for ループを使用すると、その出力を反復処理して変数に保存できます%%a
。反復処理中に実行したいことはすべて、 の後に記述しますdo
。
do
読みやすくするために改行を使用する場合のみ、後に括弧が必要です。
for /?
コマンドの詳細については、Windows cmd で使用してくださいfor
。
答え2
より短いオプションは次のようになります。
for %%i in ("D:\Path\*.txt")do echo \\jdeappp03\EDI\%%~nxi