
我讓chatgpt幫我寫了幾個批處理老是有些問題是我問的不對嗎Rose, [/2/23 10:08]用批處理寫一個強制刪除位于C盤Windows1目錄下的創(chuàng)建于5分鐘之內(nèi)生成的文件夾和文件ChatGPT CHAT, [/2/23 10:08]以下是一個可以實現(xiàn)您要求的批處理腳本:@echo offsetlocalset target_dir=C:Windows1for /f delims= %%a in ('dir /b /ad-h /t:c %target_dir% ^| findstr /l /c:<') do (set dir_path=%target_dir%%%afor /f delims= %%b in ('dir /b /a-d /t:c %dir_path% ^| findstr /l /c:<') do (set file_path=%dir_path%%%bsetlocal enableDelayedExpansionset file_create_time=!file_path:=!for /f usebackq tokens=1-6 delims=/: %%c in ('dir /tc !file_path! ^| findstr /l /c:<') do (set create_date=%%f-%%d-%%eset create_time=%%gset create_timestamp=!create_date!T!create_time!Z)setlocal disableDelayedExpansionset current_time=%date:~10,4%-%date:~4,2%-%date:~7,2T%time:~0,2%:%time:~3,2%:%time:~6,2%Zset /a time_diff=(%current_time:/=-%) - (%create_timestamp:/=-%)if !time_diff! leq 300 (echo Deleting file: !file_path!del /q !file_path!))rd /s /q !dir_path!)解釋:1. set target_dir=C:Windows1 - 設置目標目錄的路徑。2. for /f delims= %%a in ('dir /b /ad-h /t:c %target_dir% ^| findstr /l /c:<') do ( - 遍歷目標目錄下的所有子目錄,排除隱藏目錄,并使用 findstr 過濾出創(chuàng)建時間在當前時間之前的目錄(即創(chuàng)建時間與當前時間相差不超過5分鐘的目錄)。3. set dir_path=%target_dir%%%a - 獲取目錄的完整路徑。4. for /f delims= %%b in ('dir /b /a-d /t:c %dir_path% ^| findstr /l /c:<') do ( - 遍歷目錄下的所有文件,排除目錄,并使用 findstr 過濾出創(chuàng)建時間在當前時間之前的文件。5. set file_path=%dir_path%%%b - 獲取文件的完整路徑。6. setlocal enableDelayedExpansion - 啟用延遲環(huán)境變量擴展,以便在循環(huán)內(nèi)部設置變量。7. set file_create_time=!file_path:=! - 將文件路徑中的反斜杠替換為雙反斜杠,以便在 dir 命令中使用。8. for /f usebackq tokens=1-6 delims=/: %%c in ('dir /tc !file_path! ^| findstr /l /c:<') do ( - 獲取文件的創(chuàng)建時間,并將其轉(zhuǎn)換為 ISO

