我已經看到了我的情況的許多變化,但找不到一個我覺得舒服的(非常缺乏經驗)。基本上我有一個資料夾(E:\Downloads),資料夾被添加到其中,並且還包含一個批次檔(Extractor.bat)。我想每週一次刪除 E:\Downloads 中的所有資料夾和文件,但永遠不要刪除 Extractor.bat。感謝您對此的任何幫助! (腳本中每週一次的部分不是必需的,我知道我可以設定一個 Windows 任務來在指定的日期執行 bat 檔案)。
Windows 10
答案1
看到那條Set DEBUG=echo
線了嗎?
REM
當::
您確定它正在執行您希望它執行的操作時,請停用該行。該腳本在存在時是無害的。
這if /i not "%DownloadsDir%" == "%CD%"
句話來自於當我年輕和愚蠢的時候,我愚蠢地把錯誤目錄中的所有文件都吹走了。
另外..如果您在 cmd.exe 中運行它並且它弄亂了您當前的路徑,您可以更改cd /d
為pushd
並在底部放置一個。popd
@echo off
SetLocal
Set DEBUG=echo
Set DownloadsDir=E:\Downloads
cd /d %DownloadsDir%
if /i not "%DownloadsDir%" == "%CD%" echo Bad directory! && goto :EOF
for /F "delims=" %%d in ('dir /ad /b') do %DEBUG% rd /s /q "%%d"
for %%f in (*.*) do if /i not "%%f"=="Extractor.bat" %DEBUG% del /F /Q "%%f"
EndLocal