Windows TIPS
[System Environment]
caclsコマンドをバッチ・ファイルで利用する
→ 解説をスキップして操作方法を読む
デジタルアドバンテージ 打越 浩幸
2006/04/08
対象OS
Windows 2000
Windows XP
Windows Server 2003
■
cacls.exeコマンドでACLを編集する場合は、確認のために「Y」という文字を入力しなければならない。
■
バッチ・ファイル中で使用する場合は、「echo y|」というコマンドを実行して、確認文字を自動入力するとよい。
■
「echo y」と「|」の間に空白などの文字を入れてはいけない。必ずくっつけて記述すること。
TIPS「caclsコマンドでACLを編集する 」では、cacls.exeコマンドを使って、ファイルやフォルダのアクセス権(ACL)を設定する方法について解説した。コマンド・プロンプト上で作業することにより、特に定型的な処理や繰り返し処理(複数のファイルやフォルダをまとめて処理するなど)が効率的に行えるようになる。
だがcacls.exeコマンドでACLを編集、変更すると、実行する前に確認のためのプロンプトが表示され、ユーザーが明示的に「Y」という文字を入力しないと、実際の処理が行われない。だがこれでは、バッチ・ファイルなどで自動処理するのが困難である。ほかのコマンドでは、強制的に処理を続行するために「/yes」「/y」などのオプションを備えているものが多いが、cacls.exeには用意されていない。本TIPSでは、この「Y」という文字を自動的に入力/指定する方法を紹介する。
cacls.exeコマンドでは、アクセス権の内容を追加したり、変更したりする場合、確認のために「Y」という文字を入力しなければならない(大文字でも小文字でもよい)。
※対話的に実行する場合
D:\Data>cacls *.txt /g everyone:f
よろしいですか (Y/N)?y …「y」を入力する
処理ファイル: D:\Data\file1.txt …処理されるファイル
処理ファイル: D:\Data\file2.txt
処理ファイル: D:\Data\file3.txt
D:\Data>
この「y」という文字を自動的に入力するには、echoコマンドを組み合わせるとよい。具体的には、「echo y」というコマンドを実行し(これは、「y」という文字を標準出力へ送るコマンド)、その結果をcacls.exeコマンドへパイプ機能を使って送り込むのである。
※確認メッセージを自動入力する場合
D:\Data>echo y|cacls *.txt /g everyone:f …「echo y」で自動入力する
よろしいですか (Y/N)?処理ファイル: D:\Data\file1.txt …処理されるファイル
処理ファイル: D:\Data\file2.txt
処理ファイル: D:\Data\file3.txt
D:\Data>
ここで重要なのは、「echo y」に続けて、空白文字などを入れずに、パイプ記号文字「|」をすぐ直後に並べることである。ほかのコマンド(例:delコマンドなど)では、「echo y | del *.txt」のように、パイプ記号の左側に空白文字が入っていても構わないことが多い。だがcacls.exeコマンドでは、上記のようにくっつけて、「echo y|cacls ……」としなければならない。
この記事と関連性の高い別のWindows TIPS
generated by
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
キャリアアップ
**先週の人気講座ランキング**
〜 Android編 〜