4

icacls を使用して、特定のユーザー フォルダーにアクセス許可を適用するバッチ ファイルを作成したいと考えています。これは私が作ったバッチファイルです:

@エコーオフ

set /p username=ユーザー名を入力してください:

echo 権限を選択:

エコー N - アクセスなし
echo F - フルアクセス
echo M - アクセス権の変更
echo RX - 読み取りと実行
echo R - 読み取り専用 acc
echo W - 書き込み専用 ac
echo D - アクセス権の削除

エコー。

set /p perm=パーミッションを入力してください:

%perm%==F の場合

icacls "C:\Users\%username%" /grant:r "%username%:(OI)(CI)F"

このファイルを実行して権限を F と入力すると、次のエラーが表示されます: コマンドの構文が正しくありません。しかし、cmdで同じコマンドを直接実行すると、完全に機能します。では、問題なく実行されるようにバッチ ファイル内のコマンドを修正するにはどうすればよいでしょうか。

4

1 に答える 1

3

ifコマンドの構文が問題を引き起こしているようです。選択した許可が有効かどうかを確認していますがF、それに対して何もしていません。

1行に入れてみてください

if %perm%==F icacls "C:\Users\%username%" /grant:r "%username%:(OI)(CI)F"

または括弧内

if %perm%==F (
icacls "C:\Users\%username%" /grant:r "%username%:(OI)(CI)F"
)
于 2013-01-08T11:01:39.270 に答える