找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17883|回复: 8

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

[复制链接]
发表于 2021-3-31 14:23:45 | 显示全部楼层 |阅读模式
有两个命令
CMD中DIR /S /B可以遍历输出文件路径
POWERSHELL中 用(GET-ACL “文件路径").Owner  可以得到文件所有者

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

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

求高手写一个代码
发表于 2021-3-31 15:07:24 | 显示全部楼层
ps 3.0+  自行测试修改

  1. ls "xxxx\方腊" -r |?{(get-acl).owner.equals('宋江')}|%{$_.fullname}|sc '.\宋江.log' -force
复制代码
 楼主| 发表于 2021-3-31 16:43:45 | 显示全部楼层
回复 2# xczxczxcz

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

  1. ls "xxxx\方腊" -r |?{(get-acl).owner.equals("${env:ComputerName}\宋江")}|%{$_.fullname}|sc '.\宋江.log' -force
复制代码
所有者前要加域名。
发表于 2021-3-31 17:16:29 | 显示全部楼层
回复 3# 04175884


    计算机名可按自己的实际情况改,我写的是自动获取当前用户下的计算机名
 楼主| 发表于 2021-3-31 17:31:04 | 显示全部楼层
回复 5# xczxczxcz

兄弟,你写的是WINDOWS 下用的还是LINux下的,我WINDOWS下没用啊
发表于 2021-3-31 17:44:20 | 显示全部楼层
回复 6# 04175884


    这是 PS  不是 BAT 保存为 xxx.ps1 ;ansi编码,右键执行,不会用则论坛自查用法。
 楼主| 发表于 2021-4-1 08:47:31 | 显示全部楼层
回复 7# xczxczxcz


    我是在powershell ise里面粘贴你的代码,运行没有任何提示和效果
发表于 2021-4-1 21:33:56 | 显示全部楼层
本帖最后由 nwm310 于 2021-4-1 22:15 编辑

  1. dir -r -Force | ?{$_.GetAccessControl().Owner -like '*\miehuadeng'} | %{$_.FullName} > .\out.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:09 , Processed in 0.020134 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表