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

[文件操作] 求助,删除文件时候出现拒绝访问,求教怎么用命令强制删除文件夹和文件

[复制链接]
发表于 2019-4-9 14:27:41 | 显示全部楼层 |阅读模式
因为我的需求是自动验证不同脚本,在验证新版本的同时需要删掉老版本的文件夹,但是老版本这个时候在占用,停掉应用后依然删不掉,依然有dll被占用,所以我想知道怎么通过命令强制删除呢?试过网上很多方法还是不行。只能使用脚本实现,不能重启计算机。

这段代码也不行
  1. DEL /F /A /Q \\?\%1
  2. RD /S /Q \\?\%1
复制代码
发表于 2019-4-9 14:32:52 | 显示全部楼层
快使用Unlocker
发表于 2019-4-9 14:46:26 | 显示全部楼层
以管理员身份运行脚本
 楼主| 发表于 2019-4-9 15:09:03 | 显示全部楼层
回复 2# smss


    用了 也不行。。有些能删掉 有些还是删不掉
 楼主| 发表于 2019-4-9 15:18:39 | 显示全部楼层
多么顽固的文件。。。
 楼主| 发表于 2019-4-9 15:19:00 | 显示全部楼层
回复 3# flashercs


    也试了,还是不行
发表于 2019-4-9 15:47:56 | 显示全部楼层
回复  flashercs


    也试了,还是不行
duanxu3 发表于 2019-4-9 15:19


小样还删不掉了进PE删
 楼主| 发表于 2019-4-9 16:42:24 | 显示全部楼层
回复 7# smss


    不行 我弄自动化。。不能进pe系统。只能用脚本
发表于 2019-4-9 16:59:32 | 显示全部楼层
看看dll在被哪位进程占用?先把那个进程杀掉行吗
发表于 2019-4-9 17:58:05 | 显示全部楼层
本帖最后由 yhcfsr 于 2019-4-9 18:01 编辑
看看dll在被哪位进程占用?先把那个进程杀掉行吗
Batcher 发表于 2019-4-9 16:59



不错.
  1. tasklist /m>1.txt
复制代码
  • 然后去1.txt查找无法删除的dll,看它位于哪些进程下
  • 结束占用dll的进程,应该就可以删除了
  • 当然也可以将这一系列操作写成自动化脚本,不过要费点心.
发表于 2019-4-9 20:46:49 | 显示全部楼层
https://docs.microsoft.com/en-us/sysinternals/downloads/listdlls
  1. Listdlls.exe -d SciLexer.dll | %{ if($_ -match "pid"){taskkill /f /im $_.split()[0]}}
复制代码
 楼主| 发表于 2019-4-10 08:44:33 | 显示全部楼层
回复 9# Batcher


    我基本全部杀掉了 但是有时候还不知道是被哪个占用了 很苦恼
 楼主| 发表于 2019-4-10 08:52:17 | 显示全部楼层
回复 11# ivor


    这个命令好像不对,:'%{if' 不是内部或外部命令,也不是可运行的程序
发表于 2019-4-10 09:51:22 | 显示全部楼层
回复 13# duanxu3


11楼是PowerShell命令,需要这样执行:
http://bbs.bathome.net/thread-31071-1-1.html
发表于 2019-4-10 09:51:54 | 显示全部楼层
回复 12# duanxu3


    你用什么命令查的dll被哪个进程占用?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 04:34 , Processed in 0.028511 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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