为什么我的单行批处理文件需要用户输入才能删除驱动器上的文件?

Why does my single line batch file require user input on deleting files on a drive?

我正在尝试为计划任务创建一个批次,以每 6 天清除一次驱动器。目标是让它完全自动化,这样我就可以安排它然后走开。出于某种原因,我的批处理一直要求用户输入 (y/n),这违背了目的。

REM Friday Purge
forfiles /p "G:" /s /m *.* /c "cmd /c Del G:"

为什么我的只有一行(没有备注行)的批处理文件在执行时需要用户输入删除驱动器 G: 上的文件?

/F 开关将强制删除只读文件。
/Q 将阻止消息弹出。
/S 也将删除目录中的所有文件。
RD 将删除一个文件夹。

因此;您的新代码应如下所示:

del /f /q /s *.*
del /f /q /s G:

奖金

如果您希望它自动化:

for %%i in (Mon) do (
if "%date:~0,3%"=="%%i" goto yes
)
goto endlocal 
:yes
del /f /q /s G:
del /f /q /s G:\*.*
:endlocal

这将检查星期几是否是星期一,并且每 7 天执行一次。这会检查日期并为您完成日程安排部分;所以将它设置为每天 运行。