Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 运行批处理文件并删除当前父目录_Batch File_Rmdir - Fatal编程技术网

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