繁体   English   中英

如何在cmd中的for循环中记录运行icacls命令的批处理文件的结果?

[英]How to log the result of batch file running the icacls command in for loop in cmd?

我编写了一个批处理文件,以提供文件夹(D:\\ Test)访问txt(D:\\ users)文件中存在的用户列表的权限。 现在,我想要一个日志文件(D:\\ log),该文件具有提供访问权限的人的名字。

这是我的代码:

FOR /F "delims=" %%A in (D:\users.txt) DO icacls "D:\Test" /grant %%A:(OI)(CI)F /T > D:\log.txt

在日志文件中输出:

成功处理了0个文件; 处理1个文件失败

但是我想要那些有权访问的名字。

注意: -D:\\ users文本文件包含正确的用户名和不正确的用户名。

假设您的ICACLS命令正确,那么我认为这可以工作:

For /F "UseBackQ Delims=" %%A In ("D:\users.txt"
) Do "D:\Test" /grant %%A:(OI)(CI)F /T>>"D:\log.txt"

如果您也想要这些错误,我建议:

For /F "UseBackQ Delims=" %%A In ("D:\users.txt"
) Do "D:\Test" /grant %%A:(OI)(CI)F /T>>"D:\log.txt" 2>>&1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM