Board logo

标题: [文本处理] [已解决]批处理如何列出文件及子文件夹内所有文件的权限? [打印本页]

作者: dlamd2    时间: 2019-3-23 08:27     标题: [已解决]批处理如何列出文件及子文件夹内所有文件的权限?

本帖最后由 dlamd2 于 2019-3-24 18:19 编辑

比如列出桌面上所有文件夹及文件 并显示他们的NTFS权限, 然后保存到一个文本中

我使用dir /s /b 列出来全部文件但不知道如果显示文件的权限.
作者: Batcher    时间: 2019-3-23 09:49

  1. @echo off
  2. (for /f "delims=" %%i in ('dir /b /s "%userprofile%\Desktop"') do (
  3.     cacls "%%i"
  4. ))>"1.txt"
复制代码

作者: dlamd2    时间: 2019-3-24 17:07

回复 2# Batcher


不知道为什么,直接复制代码一直提示“文件名、目录名或卷标语法不正确。”

改成这样到是可以,但是多次运行会一直累加下..还是不理想
  1. for /f "delims=" %%i in ('dir /b /s "%userprofile%\Desktop"') do (
  2.     cacls "%%i"
  3. ) >> "1.txt"
复制代码

作者: dlamd2    时间: 2019-3-24 17:20

回复 3# dlamd2


    加上@echo off 也会提示“文件名、目录名或卷标语法不正确。” 是不是我电脑有问题呀...
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s "%userprofile%\Desktop"') do (
  3.     cacls "%%i"
  4. ) >> "1.txt"
复制代码

作者: dlamd2    时间: 2019-3-24 17:56

回复 2# Batcher

我将cacls 改成 echo也可以正常运行..好奇怪
  1. @echo off
  2. (for /f "delims=" %%i in ('dir /b /s "%userprofile%\Desktop"') do (
  3.     echo "%%i"
  4. ))>"1.txt"
复制代码

作者: dlamd2    时间: 2019-3-24 18:02

回复 2# Batcher


   
我改成icacls 好了...可能是我文件名有特色符号, 谢谢版主. 不知道有什么办法可以处理特殊字符
作者: Batcher    时间: 2019-3-24 20:10

回复 3# dlamd2


    >>改成>就不会累加了
作者: Batcher    时间: 2019-3-24 20:11

回复 6# dlamd2


    不知道你有哪个特殊字符,无法猜测如何处理。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2