1

これが私の現在の設定です。

C:\user\Desktop\folder
C:\user\Desktop\folder\run.bat

rmdir親を削除するために使用できなかったため、デスクトップに追加されfolderたファイルを作成してみました。このファイルは、実行後に削除して自分自身を削除するのが理想的です。しかし、プロセスはまだ実行されていると思います。そのため、プロセスはコンテンツのみを削除し、それ自体は削除しませんか?helper.batfolderfolderfolder

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実行後に、含まれている親ディレクトリを含むすべてを削除するにはどうすればよいですか?私はそれが何かと関係があると信じていますcallstart

4

2 に答える 2

2

ほら、これでうまくいくはずです..DP ;-)

@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
于 2013-06-19T00:10:33.190 に答える
1

秘訣は、バッチ ファイルが実行されていないこと、および削除れるフォルダーに何もないこと (つまり、現在のディレクトリとして削除されるフォルダーがないこと) を確認することです。

与えられた構造

Z:\
Z:\Test
Z:\Test\Kill
Z:\Test\Kill\run.bat

次のrun.batは、 Killフォルダーを完全に削除します。

REM Do Stuff
start rmdir Z:\test\kill /s /q

コマンド ウィンドウからバッチ ファイルを実行する場合は、Killフォルダにいないことを確認してください。

Z:\Test> Kill\run.tab

于 2012-08-02T23:56:23.040 に答える