我有一个batch file,如果我手动执行它工作得很好,但是当我告诉任务调度器运行它时失败。
forfiles -s -m * .bak -d -4 -c“cmd / c del @path”
此batch file删除与batch file相同的目录中的所有BAK文件,这些文件早于4天。 我无法让forfiles从另一个目录工作,所以batch file只能在我的sql备份的同一个目录下工作。 如果有人知道如何编辑我的batch file,让我能够从我的通用batch file目录,而不是我的SQL备份文件夹,这将非常感谢信息。
即使在configuration计划任务时,选中“以最高权限运行”checkbox,也不会有任何更改。 顺便说一句,我的任务只在用户login时运行,用户帐户实际上是一个pipe理员和UAC完全禁用此机器上。 所以我不确定这可能是一个许可相关的问题,但我的直觉是指出我作为一个原因。 我希望能够编辑并包含批处理中显示的错误消息,当任务调度程序调用它来运行。 我需要编辑批处理,以便在看到错误的详细信息之前不会closures,而当前持有该文件的计算机正在被其他开发人员使用,因此我将不得不在晚些时候收集其他信息。
希望有人能帮助! 这台机器运行sql express,因此不能使用维护计划,所以这是我的解决方法。 如果有一个更简单的方法来做我想做的事情让我知道。
你尝试用/p
来search不同的path吗?
forfiles /p "d:\path\to\sql\backups" /s /m *.bak /d -4 /c "cmd /c del @path"
另外,比较任务运行的用户帐户和SQL备份文件夹上的安全设置。