やりたいこと
・シェル実行で本題の実施
・フォルダ構成
D\HogeFolderにtxtファイル40個ほど
D\HogeResultにエクセルファイル1個
D\HogeFolder配下のtxtファイルは
それぞれテンプレート的に最終行の10文字目~18文字目に
「ファイルID」が記載されているため、その文字列を読み込み、
D\HogeResult配下のエクセルファイルのA列に順次、
読み込んだtxtファイルの名称と
B列にファイルIDを書き出したい。
エクセルファイルには最終的に
A,B
ファイル名A,FILEID01
ファイル名B,FILEID02
...
...
...
ファイル名ZZ,FILEID40
となるような出力結果を期待値としている。
作成途中で申し訳ないのですが、
どのように作りこんでいけばよいかわかりませんでした・・・。
sh
1$filePath="D\HogeFolder" 2$resultPath="D\HogeResult\Hoge.xlsx" 3 4#プロセスの開放 5$excel = New-Object -ComObject Excel.Application 6$dataBook = $excel.Workbooks.Open($resultPath) 7 8#filePath配下のtxtファイルの数だけループ 9$for var in $filePath`*.txt` 10#最終行の読み込み? 11while read LINE || [ -n "${LINE}" ]; do 12 #Excelに書き込みを行う 13 14done 15 16# プロセスを解放する 17$excel = $null
ご助力お願いします。
まずPowerShellでやりたいのかシェルスクリプトでやりたいのかを明確にしてください。
その上でどの部分のやり方がわからないのかを明確にして質問すると回答が得られやすくなります。
例:
・指定ディレクトリ以下のテキストファイルを取得する方法がわからない。
・ループの書き方がわからない。
・ファイルの最終行を取得する方法がわからない。
・部分文字列の取得方法がわからない。
・xlsxファイルへの出力の方法がわからない。
など
シェルスクリプトでお願いします。
以下三点が自分がわかっていないところになります。
・指定ディレクトリ以下のテキストファイルを取得する方法がわからない。
・ファイルの最終行を取得する方法がわからない。&指定された文字列開始位置から指定された文字列終了位置までの取得方法
(最終行のn文字目からm文字目までを取得する)
・部分文字列の取得方法がわからない。
あなたの回答
tips
プレビュー