为什么我的单行批处理文件需要用户输入才能删除驱动器上的文件?
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 天执行一次。这会检查日期并为您完成日程安排部分;所以将它设置为每天 运行。
我正在尝试为计划任务创建一个批次,以每 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 天执行一次。这会检查日期并为您完成日程安排部分;所以将它设置为每天 运行。