K林なんでもゼミナール

K林ゼミの愉快な日常をお届けします


記事は下にあります↓ 
下にスライドしてね。


最新記事
【大長編20,000文字記事】Kゼミが行く、名古屋焼肉旅行!【もはや短編小説】
短歌「ポエム精神の否定と肯定」
【パワハラ】四コマ短歌「バグ発生」
【尖り大爆発】短歌四コマ「尖りとは」
はてなブログ便利ツール【最新記事取得機能つき! おすすめ記事テーブル生成機VER3.0】を公開しました。
【いてざギャグ解説】四コマ短歌「マイブームのギャグ」
短歌四コマ「悪役の矜持」

新作ノベルゲーム↓ クリックですぐに遊べるよ!

バナー

短歌四コマ漫画シリーズ↓ クリックで読めるよ!

バナー
おすすめ短歌
短歌四コマ「文士の谷底」
【大議論勃発】短歌四コマ「糖分補給の選択肢」【現代のソクラテス降臨か】
短歌四コマ「栞のない読書」
【いてざギャグ解説】四コマ短歌「マイブームのギャグ」

面白雑談シリーズ!↓ どの記事でも気軽に読んでね!

バナー
おすすめ記事
【豚バラかつお豆乳鍋】寒くなって来たので鍋食べる
【エビ餃子】夏なので手作り餃子作ったよ
【闇深】日常生活の中で私が拘って使い分けている言葉集

はてなブログ便利ツール【最新記事取得機能つき! おすすめ記事テーブル生成機VER3.0】

PowerShellでファイル一覧をエクセルに出力するプログラム

お久しぶりです。今回はパワーシェルを使って、ファイル一覧をエクセルに出力するプログラムを公開します。

完全に自分のメモ用に公開しております。コピーして使用する際は、自己責任でお願いします。

スクリプト内容

パワーシェル実行.cmd

rem パワーシェル実行用のバッチです
rem 実行したいパワーシェルと同じフォルダ内に入れて使用してください
rem 任意のファイル名をコマンドの最後にいれてください。
PowerShell -ExecutionPolicy RemoteSigned %~dp0FileNameGetOutPutExcel.ps1
pause

FileNameGetOutPutExcel.ps1

# Excelオブジェクト生成
$excel = New-Object -ComObject Excel.Application
# 見えなくてよい
$excel.Visible = $False
# ワークブックを作成
$book = $excel.Workbooks.Add()
# ワークシートを番号で指定し、接続する
$sheet = $excel.Worksheets.Item(1)
# セルの行を指定するカウント
$Count = 1
# 自ファイルの絶対パスを取得
$Location = (Get-Location).Path
#自パスのフォルダ内のファイルを取得してfor文で回す
#下の矢印位置を変えることで特定の拡張のファイルのみを取得可能です
#----------------------------------↓-----
$items = Get-ChildItem $Location\*.* -File
foreach ($item in $items) {
    #ファイル名を取得
    $FileName = $item.Name
    #そのファイル名をエクセル内のCount行の1列目に記入
    $sheet.Cells.Item($Count,1) = $FileName
    #Countを増やす(行数を下に下げる)
    $Count = $Count +1
}
# 名前をつけて保存
$book.SaveAs("$Location\Result.xlsx")
# Excelを閉じる
$excel.Quit()
# オブジェクト解法
$excel = $null
[GC]::Collect()

使用例紹介

では使用例を紹介します。

下の画像をご覧ください。

このフォルダ内のファイル一覧をエクセルに出力します。

同フォルダ内にPowerShellスクリプト一つとバッチファイルを一つコピーします。

「パワーシェル実行.cmd」を実行すると、「Result.xlsx」というエクセルファイルができます。

そしてエクセルファイルを開くと

 

こんな感じでフォルダ内のファイル一覧が出力されるわけです。

しかし、これではパワーシェルスクリプトやバッチファイル自体もエクセルに出力されてしまいますね。美しくありません。

そこで、パワーシェルスクリプト側の16行目を「*.txt」や「*.pdf」に変更することによって、指定した拡張子ファイルのみを取得することも可能です。

念のためにpdfファイルのみ取得するパワーシェルスクリプトもここに乗せておきます。

# Excelオブジェクト生成
$excel = New-Object -ComObject Excel.Application
# 見えなくてよい
$excel.Visible = $False
# ワークブックを作成
$book = $excel.Workbooks.Add()
# ワークシートを番号で指定し、接続する
$sheet = $excel.Worksheets.Item(1)
# セルの行を指定するカウント
$Count = 1
# 自ファイルの絶対パスを取得
$Location = (Get-Location).Path
#自パスのフォルダ内のファイルを取得してfor文で回す
#下の矢印位置を変えることで特定の拡張のファイルのみを取得可能です
#----------------------------------↓-----
$items = Get-ChildItem $Location\*.pdf -File
foreach ($item in $items) {
    #ファイル名を取得
    $FileName = $item.Name
    #そのファイル名をエクセル内のCount行の1列目に記入
    $sheet.Cells.Item($Count,1) = $FileName
    #Countを増やす(行数を下に下げる)
    $Count = $Count +1
}
# 名前をつけて保存
$book.SaveAs("$Location\Result.xlsx")
# Excelを閉じる
$excel.Quit()
# オブジェクト解法
$excel = $null
[GC]::Collect()

これを実行しますと。

はいこのようにpdfファイルのみエクセルに出力することが可能です。

以上紹介終わりです。

キャラ紹介 K林教授

我らがK林ゼミの教授
自分は世界一優れた洞察眼を持っていると思っている
真剣に仕事していそうなときは、大体ユーチューブを見ている
好きなユーチューバーは東海オンエア、もこう、れいえもん、QuizKnock、FateGames、最終兵器俺達 などなど

M子学生

K林ゼミの学生のM子
真面目、一般人、ツッコミ。だがピンク髪
読書家
ぷよぷよで7連鎖できることが誇り

T中番長

K林ゼミの番長
目つきが急に悪くなる、一番後輩
定時で変える勢
煽るときの顔に定評がある