牛皮藓文件

该文件是Windows系统存放的应用文件,和WindowsApps(安装应用的文件)一样,都是用户无法删除的,如果想删除,只能通过其他方式。(注意:里面没东西才能删,否则容易出问题,其他文件夹也能用下面的方法删。)

bat删除文件方式

新建txt文件,输入以下代码。填写要删除的绝对路径名(如 E:\文件),将后缀修改为bat,双击运行即可。(注意:删除后不可逆!!!)

%以下是将该bat文件以管理员运行%
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"%以下是删除命令(中文文件夹需要手动打开管理员cmd输入命令)%
takeown /F "文件夹绝对路径" /A /R /D Yicacls "文件夹绝对路径" /T /grant administrators:Frd /s /q "文件夹绝对路径"

注意!!!修改上面文件中的路径

Java方式

但每次都要修改bat文件里的三个地方未免太复杂,不如使用Java的I/O流来动态生成并运行,这样就只需要输入一次路径即可,代码如下。

import java.io.*;
import java.util.Scanner;/*** @version 2.0* @package com.spring_Let*/public class DynamicallyForceDeleteFolder {public static void main(String[] args) {/*%以下是将该bat文件以管理员运行%@echo off>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"if '%errorlevel%' NEQ '0' (goto UACPrompt) else ( goto gotAdmin ):UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs""%temp%\getadmin.vbs"exit /B:gotAdminif exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )pushd "%CD%"CD /D "%~dp0"%以下写要执行的命令%%删除文件命令(中文文件夹需要手动打开管理员cmd输入命令)%takeown /F "D:\ab" /A /R /D Yicacls "D:\ab" /T /grant administrators:Frd /s /q "D:\ab"*/Scanner sc = new Scanner(System.in);System.out.print("输入需要删除的文件夹的绝对路径:");String delFilePath = sc.nextLine();//先检测文件夹是否存在if (!new File(delFilePath).exists()) {System.out.print("文件夹不存在!");return;}if (!normalDeletion(delFilePath)) {System.out.println("删除成功!");return;}//直接用File进行删除,如果删除不掉,再使用管理员强行删除System.out.println("普通删除失败,使用强制删除...");String cmd = "%以下是将该bat文件以管理员运行%\r\n" +"@echo off\r\n" +">nul 2>&1 \"%SYSTEMROOT%\\system32\\cacls.exe\" \"%SYSTEMROOT%\\system32\\config\\system\"\r\n" +"if '%errorlevel%' NEQ '0' (\r\n" +"goto UACPrompt\r\n" +") else ( goto gotAdmin )\r\n" +":UACPrompt\r\n" +"echo Set UAC = CreateObject^(\"Shell.Application\"^) > \"%temp%\\getadmin.vbs\"\r\n" +"echo UAC.ShellExecute \"%~s0\", \"\", \"\", \"runas\", 1 >> \"%temp%\\getadmin.vbs\"\r\n" +"\"%temp%\\getadmin.vbs\"\r\n" +"exit /B\r\n" +":gotAdmin\r\n" +"if exist \"%temp%\\getadmin.vbs\" ( del \"%temp%\\getadmin.vbs\" )\r\n" +"pushd \"%CD%\"\r\n" +"CD /D \"%~dp0\"\r\n" +"\r\n" +"%删除文件命令(中文文件夹需要手动打开管理员cmd输入命令)%\r\n" +"takeown /F \"" + delFilePath + "\" /A /R /D Y\r\n" +"        icacls \"" + delFilePath + "\" /T /grant administrators:F\r\n" +"        rd /s /q \"" + delFilePath + "\"";//这里会将bat文件写入到D盘,没有D盘则将D改为C,写入不了就用管理员运行String batFilePath = "D:\\Force deletion of file - spring.bat";sc.close();creatBAT(cmd, batFilePath);runBat(batFilePath);}//普通删除public static boolean normalDeletion(String delFilePath) {File f = new File(delFilePath);f.delete();return f.exists();}/*** 将要执行的批处理命令写入到目标bat文件中** @param cmd         批处理命令* @param batFilePath bat文件路径*/public static void creatBAT(final String cmd, final String batFilePath) {try {File f = new File(batFilePath);if (f.isDirectory() && f.exists()) {if (f.delete())System.out.println("已删除原" + batFilePath + "文件夹!");else {System.out.println("删除原文件夹失败!");return;}}// 定义编码OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f), "GBK");BufferedWriter writer = new BufferedWriter(write);writer.write(cmd);writer.close();write.close();} catch (Exception e) {System.out.println("写文件内容操作出错");e.printStackTrace();}}/*** 运行bat文件** @param batFilePath bat文件地址*/public static void runBat(String batFilePath) {try {Process ps = Runtime.getRuntime().exec(batFilePath);InputStream in = ps.getInputStream();if (in.read() != -1) {in.close();ps.waitFor();}Thread.sleep(1000);} catch (IOException ioe) {ioe.printStackTrace();} catch (InterruptedException e) {//TODO Auto-generated catch block e.printStackTrace();}System.out.println("删除完成");//运行后删除bat文件File f = new File(batFilePath);if (f.exists()) {f.delete();}}
}

删除后又出现?

如果Windows的文件夹删除后又出现,应该是设置了保存新内容的位置,去修改回来就可以了。(ps:不用担心放到C盘占位置,每次安软件自己选路径就可以了)

如果对你有帮助,辛苦点个赞吧。

D盘出现如同Program Files等因为权限问题而删除不掉的文件,可以使用bat文件强行删除相关推荐

  1. win10打开软件显示c盘服务器,教你修复win10系统打开C盘发现一个program Files文件夹的方案...

    今天小编分享一下win10系统打开C盘发现一个program Files文件夹问题的处理方法,在操作win10电脑的过程中常常不知道怎么去解决win10系统打开C盘发现一个program Files文 ...

  2. Windows下的Program Files (x86)文件夹是干什么的?

    今天在微博上看到有人问这个问题.在装好64位的Windows之后,能在系统盘(通常是C盘)下看到这么一个文件夹,它比我们都知道的Program Files文件夹多出来个"(x86)" ...

  3. Program Files可以删除吗?绝对不可以!

    用户在检查电脑时发现C盘有个Program Files文件夹,占用不少空间,那当我们空间不足时,Program Files文件夹能删除吗?绝对不可以!下面就来听小编分析分析. Program File ...

  4. html files是什么文件夹,电脑硬盘里的program files文件夹是什么意思

    电脑硬盘里的program files文件夹是什么意思 发布时间:2012-12-14 10:17:05   作者:佚名   我要评论 你如果电脑的系统时安装在c盘的话,打开系统c盘的根目录下会发现P ...

  5. npm intasll 安装报错 Error: EPERM: operation not permitted, mkdir ‘C:\Program Files\nodejs\node_cache\_

    Node.js安装及环境配置完成之后 npm install express -g 安装全局的模块报错提示没有权限operation not permitted mkdir 错误编号4048: 其原因 ...

  6. 成功解决FileNotFoundError: [Errno 2] No such file or directory: 'F:\\Program Files\\Python\\Python36\\li

    成功解决FileNotFoundError: [Errno 2] No such file or directory: 'F:\\Program Files\\Python\\Python36\\li ...

  7. MySQL5.7报错Can‘t change dir to ‘C:\Program Files\MySQL\MySQL Server 5.7\data\‘

    执行mysqld --initilize-insecure命令后报错页面如下: 解决办法: 根据报错提示去C:\Program Files\MySQL\MySQL Server 5.7\data\下创 ...

  8. linux路由器文件目录,路由器挂载U盘文件和文件夹删除不掉,linux系统强制删除文件和文件夹命令...

    电脑文件夹删除不掉该怎么解决呢?最近有不少的小伙伴都问小编遇到电脑文件夹删除不掉的情况该要怎么解决,所以不知道怎么解决这个问题的小伙伴,就赶紧来看看小编在下面给你们分享快速删除电脑文件夹的详细操作方法 ...

  9. 计算机c盘program,电脑c盘program files(x86)文件夹可以删除吗

    在给电脑安装完系统之后,由于安装的系统中总是会自带一些用户不需要使用到的文件或者程序,我们为了能够保证系统运行的流畅,通常都会将其进行删除,但是最近有许多用户对于c盘program files(x86 ...

最新文章

  1. JOOMLA中文安装时 数据库发生错误解块办法
  2. CentOS6.5 缺少 libstdc++.so.6(GLIBCXX_3.4.15)
  3. Wcf 双工通信的应用
  4. 北京陆航学院计算机三级考点,计算机三级考点
  5. mysql 创建临时表 时间类型_MySQL问答系列之什么情况下会用到临时表
  6. java json格式字符串转为map_json格式的字符串序列化和反序列化的一些高级用法...
  7. Tomcat与Jre绿色环境配置(生产环境)
  8. 判断访问端是否是移动设备
  9. FreeRTOS系列第19篇---FreeRTOS信号量
  10. 6月第1周安全回顾 Flash Player漏洞危机 邮件泄漏敏感信息
  11. es-03-DSL的简单使用
  12. C++11多线程03
  13. WCF存储图片到指定文件夹下
  14. 实战RxSwift中的Observable, subscribe, dispose, filter
  15. 平面设计常用标准尺寸
  16. ios 合并图片显示
  17. treble_Android上的Project Treble是什么,我的手机会收到吗?
  18. 打喷嚏的龙(dargon)
  19. css设置背景颜色/背景图像/背景图像平铺/背景图像位置/背景图像固定显示/综合设置元素背景的方法(学习笔记)
  20. 我的python面试简历

热门文章

  1. Git 基础 - 撤消操作
  2. 智慧电力可视化大屏,赋能虚拟电厂精准减碳
  3. 差分算法和遗传算法的区别
  4. 山东省二级计算机在哪打印准考证,山东省3月全国计算机二级考试准考证打印时间...
  5. github信息安全开源课
  6. 微软 ERP 的定价及其它
  7. SVN+FTP服务器搭建——SVN安装配置篇
  8. python实现在线音乐播放器(懒皮鼠音乐)
  9. java-net-php-python-jsp校园美食点评系统计算机毕业设计程序
  10. LINUX centos下查看CPU、主板、硬盘、内存,网卡信息