【バッチファイル】S3上のファイルの一覧を取得する【AWS】

バッチファイルから
 ・S3上のファイルの一覧を取得
できます!

PR

前提

AWS CLIがインストールされていること。

PR

コード

ここでは例として
 ・バケット「tmp12345/sampleDir」配下の
 ・テキストファイル(txtファイル)の一覧を取得して
 ・デスクトップ配下にCSVファイルとして出力
します。
※バケット「tmp12345/sampleDir」配下には「フォルダ」と「エクセルファイル」もあることとします。
※「フォルダ」と「エクセルファイル」は取得しないようにします。

バケット「tmp12345/sampleDir」配下には、テキストファイル(txtファイル)が3つある
バケット「tmp12345/sampleDir」配下には、テキストファイル(txtファイル)が3つある
@echo off

rem S3のパス(バケット名とフォルダ名)
set s3Uri=tmp12345/sampleDir/
rem プロファイル名
set profile=develop
rem 出力ファイル名
set outputFile=%HOMEDRIVE%%HOMEPATH%\Desktop\s3_file_list.csv

rem 出力ファイルが存在したら削除
if exist "%outputFile%" (
	del /f %outputFile%
)

rem s3のファイル一覧取得コマンドを作成
set cmd="aws s3 ls %s3Uri% --profile %profile%  | findstr txt"

rem コマンドを実行し、取得結果を出力ファイルへ出力
for /f "tokens=1-4" %%a in ('%cmd%') do (
    echo %%d,%%a %%b>> %outputFile%
)

echo 正常終了しました。
echo.

pause

状況に合わせて以下を変更してください(4~8行目)。

・S3のパス(バケット名とフォルダ名)
・プロファイル名
・出力ファイル名

「delims(区切り文字)」を指定しないため、デフォルトの「スペース」で区切られます(19行目)。

「tokens」に「1-4」と指定することで、「コマンドの実行結果の1~4列目を取得」します(19行目)。

PR

実行結果

S3上のファイルの一覧を取得できました。
※テキストファイル(txtファイル)の一覧を取得できました。
※デスクトップ配下にCSVファイルとして出力できました。

実行結果①
実行結果①
実行結果②
実行結果②
実行結果③
実行結果③
PR

参考①

上記で使用した以下の詳細は、公式サイトをご確認ください。

●aws s3 ls


forコマンド

PR

参考②

AWSクラウドプラクティショナーの受験体験記です。

タイトルとURLをコピーしました