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

Batch file 为什么我的单行批处理文件在删除驱动器上的文件时需要用户输入?,batch-file,scheduled-tasks,Batch File,Scheduled Tasks,我正在尝试为计划任务创建一个批,以便每6天清除一个驱动器。我们的目标是让它完全自动化,这样我就可以安排它并离开。出于某种原因,我的批处理一直要求用户输入(y/n),这与目的背道而驰 REM Friday Purge forfiles /p "G:" /s /m *.* /c "cmd /c Del G:" 为什么只有一行(没有备注行)的批处理文件在执行时删除驱动器上的文件时需要用户输入G:?/F开关将强制删除只读文件。 /Q将阻止消息弹出。 /S也将删除目录中的所有文件。 RD将删除文件夹 因

我正在尝试为计划任务创建一个批,以便每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天执行一次。这将检查日期并为您完成日程安排部分;因此,请将其设置为每天运行。

查看
del/?
的输出,您将找到所需内容。不明白为什么要使用FORFILES执行此任务?我本来打算清除包含旧备份的选定文件,但我确实可以清除根目录,不必担心文件。我觉得ECHO Y需要在del/之后进入,但不确定如何设置ECHO。对不起,我是一个新手-我注意到它删除了除windows备份(我的C盘上的文件)以外的所有内容。这是占用空间最多的地方。我有一种奇怪的感觉,那就是窗户就是窗户。我认为安迪是对的。Windows备份实用程序有一种倾向,即很难删除备份文件夹。它不仅仅是只读属性。我认为它使用访问控制列表(ACL)。这是可以克服的,但需要更多的调查。