簡體   English   中英

在批處理文件中使用icacls

[英]using icacls in batch file

我想創建一個批處理文件,使用icacls將權限應用於給定的用戶文件夾。 這是我制作的批處理文件:

@echo off

set /p username=Enter username:

echo Select permissions :

echo N  - no access
echo F  - full access
echo M  - modify access
echo RX - read and exe
echo R  - read-only acc
echo W  - write-only ac
echo D  - delete access

echo.

set /p perm=Enter permissions:

if %perm%==F

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

當我運行此文件並輸入權限為F時,它顯示此錯誤:命令的語法不正確。 但如果我直接在cmd中運行相同的命令它完美地工作。 那么,我如何更正批處理文件中的命令,以便它運行沒有任何問題?

看起來if命令的語法導致了問題。 您正在檢查所選的權限是否為F但是沒有對其執行任何操作。

嘗試將其放在一行上

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"
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM