免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 856 | 回复: 1

[文本处理] PowerShell - 如何找到占用文件的真凶? [复制链接]

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
发表于 2017-08-15 12:07 |显示全部楼层
  1. $wkPath = "z:"
  2. Set-Location -Path $wkPath
  3. $fStream = New-Object IO.FileStream("md5", "Append", "Write")
  4. #$fStream.Close()
复制代码

由于没有经验 未及时关闭 FileStream 流对象,导致第二次运行的时候。提示如下错误:
New-Object : 使用“3”个参数调用“.ctor”时发生异常:“文件“C:\Users\Elvis\md5”正由另一进程使用,因此该进程无法访问此文件。”

通过其他工具发现该文件的确被进程 powershell_ise 所占用。
利用 PowerShell 如何通过该文件逆向找到占用此文件的进程? PowerShell 太强大了,就是不会用啊。请大神指点一下?


论坛徽章:
0
发表于 2017-08-15 13:29 |显示全部楼层
1 IO.FileStream,这是。net用法。
手册我已经在  第8课的相关位置,给出了。应该严格遵守,即 .Close() 或    $文件流.Dispose()
绝大多数老师也都是这么教的。打开文件用什么,如何读写,然后要关闭。为何你像小孩一样,总是想要不遵守正常的路线。
python文件用完了,也要close。你要是如此顽皮,py老师也要打你pp。



2 如果你精研手册,或者懂。net,你会发现,此有几个参数,可以让文本并发写入流,然后有个并发超时。从
6流中并发读,或禁止并发读。这些是。net读写文件的高级用法。

3编写脚本,基本上无需【逆向找到占用此文件的进程】,
3。1文件被占用了,就报错即可。
3。2用2中的高级用法,实现并发写入同一个文件。能并发写不会出现此情况。

4就是想 【逆向找到占用此文件的进程】,用微软高级图形任务管理器process exporer,或者调试器。


不用找了,(占用文件的)真凶,就是你,这个不用【$文件流.Dispose()】的懒蛋。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP