我使用icACLs.exe循环遍历目录结构并从其自身内的每个目录中保存权限。我需要使用robocopy来查找所有路径,因为很多完整路径超过260个字符。有些还包括空间。
我似乎有足够好的工作,直到空间,然后我得到 -
icacls.exe:Y:/ this / path / has / spaces / in / it" / save Perms.txt:文件名,目录名或卷标语法不正确。
这是我的代码:
robocopy Y:\Public NULL /l /e /nfl /xx /nc /ns /njh | Out-File Y:\results.txt
$results = Get-Content Y:\results.txt
ForEach ($sfile in $results) {
$sfile = $sfile.Trim()
cd $sfile
New-Item -Name Perms.txt -ItemType File -force
icacls.exe "$sfile" /save Perms.txt
}
我尝试在引号,大括号中包含$ sfile,但我似乎无法让它顺利通过它们。我还注意到所有带空格的路径似乎都以错误中的双引号结尾,但我不确定原因。想法?