【发布时间】:2017-06-11 08:16:01
【问题描述】:
这实际上是有效的,但不是我喜欢的格式。下面的代码将实现我想要的。在某些软件需要的任何可写标准用户配置文件中创建一个文件夹(我知道它不会在某些系统配置文件中工作,如默认等),并为其提供相关权限。
for /d %%A in ("C:\Users\*") do mkdir "%%~fA\AppData\Local\Folder1"
for /d %%A in ("C:\Users\*") do mkdir "%%~fA\AppData\Local\Folder1_Ltd"
for /d %%A in ("C:\Users\*") do icacls "%%~fA\AppData\Local\Folder1" /T /C /grant(:r) "Everyone":(OI)(CI)(F) /inheritance:e
for /d %%A in ("C:\Users\*") do icacls "%%~fA\AppData\Local\Folder1_Ltd" /T /C /grant(:r) "Everyone":(OI)(CI)(F) /inheritance:e
这似乎有点过头了。我只想让一个循环遍历用户文件夹,然后使用括号列出命令,为每个函数保存一个用户循环。但是,当我尝试以下操作时,它甚至不会创建文件夹。如果我使用命令行进行调试,此时它会停在“每个人”处,这是出乎意料的。我不确定为什么?欢迎任何建议,谢谢。
for /d %%A in ("C:\Users\*") do (
mkdir "%%~fA\AppData\Local\Folder1"
mkdir "%%~fA\AppData\Local\Folder1_Ltd"
icacls "%%~fA\AppData\Local\Folder1" /T /C /grant(:r) "Everyone":(OI)(CI)(F) /inheritance:e
icacls "%%~fA\AppData\Local\Folder1_Ltd" /T /C /grant(:r) "Everyone":(OI)(CI)(F) /inheritance:e
)
pause
【问题讨论】:
标签: windows batch-file cmd icacls