Windows Bat文件删除它';s自己的文件夹
我有一个文件夹测试,其中有一些其他文件和文件夹。我还有一个bat文件delete.bat 试验 test\delete.bat bat文件使用下一个命令删除测试内容: rmdir C:\test/s/q 我还想删除文件夹测试。如果复制delet.bat文件并将其粘贴到另一个目录中,测试文件夹将被删除 但是,如果在测试文件夹中运行delete.bat文件,则会删除测试文件夹(包括delete.bat文件)的所有内容,但不会删除测试文件夹Windows Bat文件删除它';s自己的文件夹,windows,batch-file,directory,Windows,Batch File,Directory,我有一个文件夹测试,其中有一些其他文件和文件夹。我还有一个bat文件delete.bat 试验 test\delete.bat bat文件使用下一个命令删除测试内容: rmdir C:\test/s/q 我还想删除文件夹测试。如果复制delet.bat文件并将其粘贴到另一个目录中,测试文件夹将被删除 但是,如果在测试文件夹中运行delete.bat文件,则会删除测试文件夹(包括delete.bat文件)的所有内容,但不会删除测试文件夹 我认为这是因为打开了测试文件夹。 有什么建议吗?如果dele
我认为这是因为打开了测试文件夹。
有什么建议吗?如果delete.bat要先关闭文件夹,然后运行命令rmdir C:\test/s/q,我可以在开头添加任何命令吗?下面的
delete.bat
工作正常,如果您在Windows中使用win+R
运行它
cd c:\
rmdir C:\test /s /q
嗯
萨沙·古德帮了大忙
现在我找到了一种在bat文件中添加代码的方法,以便以管理员身份运行(这样,以管理员身份运行将自动运行)
有关更多信息,请参阅
代码如下:
:::::::::::::::::::::::::::::::::::::::::
:: Automatically check & get admin rights
:::::::::::::::::::::::::::::::::::::::::
@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 .
REM Run shell as admin (example) - put here code as you like
cd c:\
rmdir C:\Users\haris\Desktop\test /s /q
只有最后两行是我的代码。只需切换到另一个目录,这样
cmd.exe
就不会再访问它了。