我希望将文件从本地计算机移动到网络驱动器,每 24 小时重复一次。我尝试了几种方法,但最终都分散了对应用程序的关注,因为计算机系统位于生产车间,操作员几乎每天 24 小时都在使用。我们不能失去关注并干扰生产软件,所以我在寻找可以以不可见/隐藏模式运行的东西。我尝试了以下方法,但都没有成功:
- Robocopy 使用任务计划程序进行批处理文件 - 尽管使用了隐藏窗口样式,但这只会在很短的时间内打开命令提示符。
- Robocopy 使用 powershell 脚本通过任务计划程序自动执行 - 与上面相同
- 使用 powershell schedulejob 而不是任务计划程序自动执行 powershell 脚本的 Robocopy
- Robocopy 作为使用任务计划程序的启动程序,而不是 powershell 或批处理文件。
附加信息:
- 我们不能使用 vbscript 方法,因为 IT 不再允许使用 vbs。
- 我无法在任务计划程序中选择“即使用户未登录也运行”,因为这是 KIOSK 模式下的服务帐户,我们无法授予该服务帐户“以批处理用户身份登录”的权限。
- 我对第三方软件持开放态度,只要它们是知名的公司。
- 只要不必重新发明轮子,我愿意使用其他脚本语言编写代码。
谢谢。
答案1
使用 Windows 服务管理器。Windows 服务即使想要弹出内容也无法做到。
Windows 服务管理器是一个应用程序,它将任何 exe 或脚本作为 Windows 服务运行。即使用户未登录,这也包括在内。
这意味着 robocopy、batch、powershell 等都可以使用。这意味着您可以隔离该过程,这样用户就无法访问它。
其中有许多是商业可用的,也有免费的。 我为 Windows NT 4 编写的 Windows 服务代码仍然运行正常所以不必担心您使用的东西的年龄。
对你来说,棘手的部分是弄清楚如何管理超时。有些支持“自动重启”,并给你想要经过的时间。这意味着你的 robocopy 命令可以简单地退出,并在时间过去后重新开始。
以下列出一些:(查找)
最精致的(迄今为止)是付费游戏,但你说这可能是一个选择
- 永远向上.. 这个是付费的,所以也有支持。您可以让他们帮助您配置它,并在您购买之前查看它是否正常工作。这个的另一个很酷的地方是它甚至会通过电子邮件向您发送复制日志..或将它们放在 windows 日志中..或者在出现问题时给您发送电子邮件..或者为您制作火腿三明治。
请记住,还有更多,但我懒得整晚查找这些东西......希望这个概念能够对您有所帮助。
还要小心。“windows 服务管理器”可能意味着很多东西。我说的是包装您的进程并将其作为服务运行的 exe。