指定フォルダ配下(サブフォルダ含む)の
・全ての対象ファイル
に対し、処理を行うコードを記載します!
コード
ここでは例として
・デスクトップにある「test」フォルダ配下の
・全てのcsvファイルのみに対して処理(ファイルパスを画面へ出力)
をします。
※「test」フォルダには「csvファイルを含む複数のファイル」があります。
※「test」フォルダには「sub」フォルダがあります。
※「sub」フォルダには「複数のcsvファイル」があります。
# 対象フォルダ
$targetFolder = "C:\Users\user\Desktop\test"
# 対象ファイル
$targetFile = "*.csv"
$ws = New-Object -ComObject Wscript.Shell
try
{
# 指定フォルダ配下(サブフォルダ含む)の全ての対象ファイルのリストを取得
$fileList = (Get-ChildItem $targetFolder -Filter $targetFile -Recurse -ErrorAction Stop).FullName
# 対象ファイルのリストの数だけ繰り返し
foreach($file in $fileList){
#ファイルパスを画面へ出力
Write-Output $file
}
}
catch
{
$ws.popup("エラー : " + $PSItem)
}
実行結果
指定フォルダ配下(サブフォルダ含む)の、全ての対象ファイルに対して処理できました。
※サブフォルダも含め、全てのcsvファイルのみに対して処理できました。
参考
上記のコードで使用した以下の詳細は、公式サイトをご確認ください。
●「Get-ChildItem」コマンドレット
●「foreach」について
●「Write-Output」コマンドレット