用於每週一次刪除資料夾內容的批次文件,資料夾內的 .bat 文件除外

用於每週一次刪除資料夾內容的批次文件,資料夾內的 .bat 文件除外

我已經看到了我的情況的許多變化,但找不到一個我覺得舒服的(非常缺乏經驗)。基本上我有一個資料夾(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 /dpushd並在底部放置一個。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

相關內容