我想创建一个批处理文件,使用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" )