Batch file 为什么我的单行批处理文件在删除驱动器上的文件时需要用户输入?
我正在尝试为计划任务创建一个批,以便每6天清除一个驱动器。我们的目标是让它完全自动化,这样我就可以安排它并离开。出于某种原因,我的批处理一直要求用户输入(y/n),这与目的背道而驰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将删除文件夹 因
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)。这是可以克服的,但需要更多的调查。