2017-08-10 39 views
0

私はpentahoでシェルスクリプトを使ってスクリプトを書こうとしています。[Pentaho] [シェルスクリプトを使う] [CMD] txtファイルにカウント行とテーブル名を挿入

最初に、ファイル名 "test_viewpayment4.txt"。 私は行を数えなければなりません、正しい出力は100です(ヘッダーは含まれません)。また、ファイル名も取得する必要があります。その後、

https://i.stack.imgur.com/afrGg.png

下図のように、カウントラインとファイル名を含めるtxtファイルは、ここでPentahoの

ここ

https://i.stack.imgur.com/mYuWw.png

CMD.EXE /C 
call cd /d d:\test 
call set file=test_viewpayment4.txt 
call Type d:\test\test_viewpayment4.txt | more +2 | find /V /C "~~~" > d:\test\Result5.txt 
call echo %file% >> d:\test\Result5.txt 

で私のコードはResult5で結果です作成します.txt

100 
test_viewpayment4.txt 

Ho wever、データは同じ行にありません。 どのようなヘルプや正しい方向を指して本当にそれを感謝します。

答えて

0

は、変数にコマンドの出力を得るためにforループを使用します。

for /f %%a in ('more +2 "d:\test\test_viewpayment4.txt" ^|find /v /c ""') do set lines=%%a 

は、ただ1つのコマンドですべてをエコー:

>> d:\test\Result5.txt echo %file% %lines% 

(注意:callコマンドのいずれもで必要ありませんバッチ;また、cmd /cは役に立たない。ペンタホ(私には分からない)がそれらを必要とすることを除いて、それらを却下する

関連する問題