![](https://batch-file.net/wp-content/themes/cocoon-master/images/b-woman.png)
バッチファイルから
・S3上のファイルの一覧を取得
できます!
前提
AWS CLIがインストールされていること。
コード
ここでは例として
・バケット「tmp12345/sampleDir」配下の
・テキストファイル(txtファイル)の一覧を取得して
・デスクトップ配下にCSVファイルとして出力
します。
※バケット「tmp12345/sampleDir」配下には「フォルダ」と「エクセルファイル」もあることとします。
※「フォルダ」と「エクセルファイル」は取得しないようにします。
![バケット「tmp12345/sampleDir」配下には、テキストファイル(txtファイル)が3つある](https://batch-file.net/wp-content/uploads/2023/12/bat_s3_file_list_001.png)
@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
実行結果
S3上のファイルの一覧を取得できました。
※テキストファイル(txtファイル)の一覧を取得できました。
※デスクトップ配下にCSVファイルとして出力できました。
![実行結果①](https://batch-file.net/wp-content/uploads/2023/12/bat_s3_file_list_002.png)
![実行結果②](https://batch-file.net/wp-content/uploads/2023/12/bat_s3_file_list_003.png)
![実行結果③](https://batch-file.net/wp-content/uploads/2023/12/bat_s3_file_list_004.png)
参考①
上記で使用した以下の詳細は、公式サイトをご確認ください。
●aws s3 ls
●forコマンド
参考②
AWSクラウドプラクティショナーの受験体験記です。