我正在遍历目录结构并使用 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,但我似乎无法让它顺利通过它们。我还注意到所有带空格的路径似乎都以错误中的双引号结尾,但我不知道为什么。想法?