windows – 在批处理文件中使用icacls

前端之家收集整理的这篇文章主要介绍了windows – 在批处理文件中使用icacls前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个批处理文件,使用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"
)

猜你在找的Windows相关文章