Batch file 运行批处理文件并删除当前父目录
这是我目前的设置Batch file 运行批处理文件并删除当前父目录,batch-file,rmdir,Batch File,Rmdir,这是我目前的设置 C:\user\Desktop\folder C:\user\Desktop\folder\run.bat 因为我无法使用rmdir删除父文件夹我尝试创建一个helper.bat文件,该文件添加到桌面,理想情况下可以删除文件夹并在运行后删除自身。但是我猜这个过程还在运行,所以它只会删除文件夹的内容,而不会删除文件夹本身 run.bat: set HELPERFILE=helper.bat cd %cd% cd .. echo echo Deleting the directo
C:\user\Desktop\folder
C:\user\Desktop\folder\run.bat
因为我无法使用rmdir
删除父文件夹我尝试创建一个helper.bat
文件,该文件添加到桌面,理想情况下可以删除文件夹
并在运行后删除自身。但是我猜这个过程还在运行,所以它只会删除文件夹
的内容,而不会删除文件夹
本身
run.bat:
set HELPERFILE=helper.bat
cd %cd%
cd ..
echo echo Deleting the directory...>%HELPERFILE%
echo pause>>%HELPERFILE%
echo rmdir /s /q testfolder>>%HELPERFILE%
echo del %HELPERFILE%>>%HELPERFILE%
echo pause>>%HELPERFILE%
echo exit>>%HELPERFILE%
call "testing" /wait %HELPERFILE%
运行run.bat
后如何删除所有内容,包括它所包含的父目录?我相信这与调用
和/或启动
有关。诀窍是确保批处理文件不再运行,并且正在删除的文件夹中没有任何内容(也就是说,没有任何内容作为当前目录被删除)
给定结构
Z:\
Z:\Test
Z:\Test\Kill
Z:\Test\Kill\run.bat
下面的run.bat将完全删除Kill文件夹
如果从命令窗口运行批处理文件,请确保不在Kill文件夹中,例如
Z:\Test>Kill\run.tab
给你这个应该对你有用..DP;-)
REM Do Stuff
start rmdir Z:\test\kill /s /q
@echo off
:: SELF DESTRUCT CURRENT WORKING DIRECTORY (Files, Sub directories and Root Parent Directory)
taskkill /f /im explorer.exe>nul 2>&1
set _sd=%~dp0
cd /d c:\
start cmd /c rd/s/q "%_sd%">nul 2>&1&start explorer.exe>nul 2>&1