返回列表 发帖

[问题求助] powershell配合批处理获取指定所有者的文件和文件夹

有两个命令
CMD中DIR /S /B可以遍历输出文件路径
POWERSHELL中 用(GET-ACL “文件路径").Owner  可以得到文件所有者

我的需求是:想得到某个目录中所有文件和文件夹的 文件所有者,符合我设定的所有者名称的,把文件完整路径输出到.txT文本

说白了,我想用DIR命令中得到的文件完整路径做为POWERSHELL中那个文件路径参数,然后查找输出结果中有没有我要的那个所有者名字,有的话,把那个完整路径重定向生成一个TXT,写到里面去

求高手写一个代码

ps 3.0+  自行测试修改
ls "xxxx\方腊\" -r |?{(get-acl).owner.equals('宋江')}|%{$_.fullname}|sc '.\宋江.log' -forceCOPY
QQ: 458609586
脚本优先 [PowerShell win10]

TOP

回复 2# xczxczxcz

兄弟,我这样改对吗,好像没有效果啊
ls "D:\Public\RD(研發中心)\普通資料交換區\SZRD-Mechanical(機構課)\鄧梅花\" -r |?{(get-acl).owner.equals('miehuadeng')}|%{$_.fullname}|sc '.\miehuadeng.log' -force

TOP

ls "xxxx\方腊\" -r |?{(get-acl).owner.equals("${env:ComputerName}\宋江")}|%{$_.fullname}|sc '.\宋江.log' -forceCOPY
所有者前要加域名。
QQ: 458609586
脚本优先 [PowerShell win10]

TOP

回复 3# 04175884


    计算机名可按自己的实际情况改,我写的是自动获取当前用户下的计算机名
QQ: 458609586
脚本优先 [PowerShell win10]

TOP

回复 5# xczxczxcz

兄弟,你写的是WINDOWS 下用的还是LINux下的,我WINDOWS下没用啊

TOP

回复 6# 04175884


    这是 PS  不是 BAT 保存为 xxx.ps1 ;ansi编码,右键执行,不会用则论坛自查用法。
QQ: 458609586
脚本优先 [PowerShell win10]

TOP

回复 7# xczxczxcz


    我是在powershell ise里面粘贴你的代码,运行没有任何提示和效果

TOP

本帖最后由 nwm310 于 2021-4-1 22:15 编辑
dir -r -Force | ?{$_.GetAccessControl().Owner -like '*\miehuadeng'} | %{$_.FullName} > .\out.txtCOPY

TOP

返回列表