Win11 批处理强制删除文件(夹)

这是一个批处理脚本,用于在Windows 11中强制删除文件和文件夹。首先,脚本更改目标的权限所有者为当前管理员,然后授予管理员组完全控制权限并移除拒绝访问的权限。接着,它会递归删除文件和整个目录,提供了一种便捷的永久删除方式。用户可以通过将文件拖放到批处理脚本上或者通过发送到菜单来使用。
摘要由CSDN通过智能技术生成

:: 使用说明
:: 本脚本名为: "强制删除文件.bat"
:: (1) 批处理文件转为ASCII码,并放在 "%USERPROFILE%\SendTo" 文件夹中。
::     选中待删除的文件(夹),右键选择"发送到"-"强制删除文件",即可永久删除。
:: (2) 或把 待删除的文件(夹) 拖到 "强制删除文件.bat" 之上,自动执行脚本。

@echo off
:: 更改权限所有者为当前管理员

if exist "%~1\" (
    rem 不加 /a,如果当前目录没有归属任一所有者,即 “无法显示当前所有者”,则无法直接改为 Administrators,
    rem 要改成 Administrator,然后再改成 Administrators。
    Takeown /f "%~1" /r /d y
    rem Takeown /f "%~1" /a /r /d Y
    
    rem 授予管理员组完全控制权限
    Icacls "%~1" /grant Administrators:F /t
    rem 去掉“拒绝该目录的所有操作”的权限。
    Icacls "%~1" /remove:d Administrators /t
    rem 查看权限
    Icacls "%~1" /c /l /q
    
    rem 只递归删除文件
    del /f /s /q "%~1"
    rem 删除整个目录
    rd /s /q "%~1"
    
    rem echo Bing Chat: 正在将 '%~1' 移动到回收站...
    rem powershell.exe -Command "Invoke-Verb -Path '%~1' -Ve
Windows 11中,创建一个批处理文件(.bat)并通过它获取管理员权限通常涉及以下步骤: 1. 打开记事本或其他文本编辑器。 2. 输入批处理命令。 3. 在文件的第一行添加 `@echo off` 以关闭命令的回显。 4. 在文件的末尾添加 `exit` 命令来关闭批处理窗口。 5. 保存文件时,选择一个合适的名字,并确保文件类型为“所有文件”,然后在文件名后加上 `.bat` 扩展名(例如:`run_with_admin.bat`)。 6. 若要以管理员权限运行该批处理文件,你需要右键点击该文件,并选择“以管理员身份运行”。 为了确保批处理文件在执行时提示用户以管理员权限运行,可以使用 ` Elevate.cmd` 工具,这是一个简单的脚本,可以检查是否已经以管理员权限运行,如果不是,则提示用户以管理员权限重新运行。 示例代码: ```batch @echo off if '%1'=='' goto start if '%1'=='-runas' goto runas goto usage :runas >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel%' NEQ '0' ( echo Requesting administrative privileges... goto gotAdmin ) else ( goto ok ) :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) echo Set UAC = CreateObject^("Shell.Application"^) >> "%temp%\getadmin.vbs" echo UAC.ShellExecute "cmd.exe", "/c %~s0 -runas", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :ok echo Elevated. setlocal DisableDelayedExpansion >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" goto end :start echo Requesting administrative privileges... >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel%' NEQ '0' ( goto gotAdmin ) else ( goto ok ) :usage echo Usage: %~n0 [-runas] :end endlocal ``` 这段代码在执行时会检查批处理文件是否已经具有管理员权限,如果没有,则会提示用户以管理员权限运行。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值