编写批处理文件以在文件出现后删除它?

时间:2013-02-22 03:07:48

标签: batch-file file-io

我想编写一个批处理文件,以便在每周重新启动系统后显示该文件。这是在cctv系统上显示文件,并且一旦出现此文件就不允许系统运行。

1 个答案:

答案 0 :(得分:1)

首先需要在这个问题中声明几件事才能真正完成这项工作。假设您使用的是Windows 2000+,并且不需要管理权限来删除罪魁祸首文件,那么您只需打开记事本并键入以下内容:

无需管理权限

@echo off
if exist "insert culprit file's path" del "insert culprit file's path"

需要提升批处理/ cmd提示(删除文件的管理权限)

@echo off
CLS 
ECHO.
ECHO =============================
ECHO Running Admin shell
ECHO =============================

:checkPrivileges 
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) 

:getPrivileges 
if '%1'=='ELEV' (shift & goto gotPrivileges)  
ECHO. 
ECHO **************************************
ECHO Invoking UAC for Privilege Escalation 
ECHO **************************************

setlocal DisableDelayedExpansion
set "batchPath=%~0"
setlocal EnableDelayedExpansion
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\OEgetPrivileges.vbs" 
ECHO UAC.ShellExecute "!batchPath!", "ELEV", "", "runas", 1 >> "%temp%\OEgetPrivileges.vbs" 
"%temp%\OEgetPrivileges.vbs" 
exit /B 

:gotPrivileges 
::::::::::::::::::::::::::::
:START
::::::::::::::::::::::::::::
setlocal & pushd
if exist "insert culprit file's path" del "insert culprit file's path"

无论你需要哪一个,把代码放在记事本中,并将文件保存为.bat,不要忘记去选择文件类型并选择所有文件。