Windows環境において、指定したフォルダおよびサブフォルダのアクセス権(ACL)をまとめて確認・取得したい場合のバッチファイル作成手順です。
古いWindows環境で使われていたcaclsコマンドは現在非推奨となっており、後継のicaclsコマンドを使用するのが標準的です。
1. 想定環境・前提条件
- OS: Windows 10 / 11、Windows Server
- 権限: アクセス権を確認する対象フォルダに対する適切な読み取り権限、または管理者権限(昇格したコマンドプロンプト)
2. 実行用バッチファイルのコード
以下のコードをメモ帳などに貼り付け、拡張子を .bat (例: get_acl.bat)として保存して使用します。
@echo off
chcp 65001 > nul
:: 対象パスと出力ログファイルの指定
set "targetPath=C:\example\path"
set "resultLog=caclslog.txt"
rem icaclsコマンドでサブフォルダも含めてアクセス権を取得し、標準出力・標準エラーをファイルに集約
icacls "%targetPath%" /T > "%resultLog%" 2>&1
echo 処理が完了しました。出力結果: %resultLog%
pause
3. 実行手順
- バッチファイル内の
targetPath変数を確認したいフォルダのパスに変更します。 - 必要に応じてコマンドプロンプトを「管理者として実行」で起動します。
- 作成したバッチファイルをダブルクリックするか、コマンドプロンプトから実行します。
- 指定したログファイル(例:
caclslog.txt)に結果が出力されます。
4. 期待される結果
指定したフォルダ階層内のすべてのファイルおよびフォルダに対して、ユーザーやグループごとのアクセス権限(フルコントロール、読み取り、書き込みなど)の一覧がテキストファイルに出力されます。アクセス拒否などのエラーが発生した場合もログに記録されます。
5. 注意事項・セキュリティ
- 深い階層や大量のファイルが存在するフォルダを対象にする場合、処理に時間がかかりファイルサイズが大きくなることがあります。
- 出力されるログファイルには機密性の高いアクセス権情報が含まれる可能性があるため、取り扱いに注意してください。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月12日
- 変更非推奨のcaclsコマンドを、現在推奨されているicaclsコマンドへ置き換えました。
- 追加管理者権限での実行や、結果の確認方法に関する説明と実行例を追加しました。
