Chrome 无法从 Windows 任务计划程序中的批处理文件打开

Chrome won't open from batch file in Windows Task Scheduler

我有一个批处理文件,可以在 chrome 中打开网页,然后移动并重命名从网站下载的文件。批处理文件在我手动 运行 时工作。当我在 windows 任务计划程序

中将文件设置为 运行 时,文件不起作用
set date=%DATE:~10,4%_%DATE:~4,2%_%DATE:~7,2%
chrome "http://www.example.com/download_page" >>debug.log 2>&1
timeout 10
move "C:\Users\user\Downloads\export.csv" "C:\path\to\moved\file%date%.csv" >>debug.log 2>&1

这是 debug.log

中显示的错误消息

[21396:15752:0317/101540:ERROR:process_singleton_win.cc(335)] Lock file can not be created! Error code: 32 [21396:15752:0317/101540:ERROR:chrome_browser_main.cc(1356)] Failed to create a ProcessSingleton for your profile directory. This means that running multiple instances would start multiple browser processes rather than opening a new window in the existing process. Aborting now to avoid profile corruption.

我建议您使用 bitsadmin 等内置工具,尽管有些人抱怨它的贬值方式,接下来您会看到 powershell/vbs 替代方案。

Bitsadmin 会为您下载它,因此您不需要 timeout 10 如果您不想 运行 在另一个实例中使用它。有时可能需要一秒钟才能达到完整的下载速度。我看到的唯一缺点是你的 cmd 屏幕自动 cls,因此使用 start bitsadmin 的方式然后你可以检查 %errorlevel% equ 0 是否成功下载。

bitsadmin.exe /transfer "<name_of_job>" "<url>" "<where to save>"

这样,即使您的 move 似乎也没有必要。查看 bitsadmin /? 了解更多信息。

我不再尝试在 windows 任务计划程序中 运行 Chrome。相反,我安装了 chrome 扩展 Crontabs。我将 Crontabs 设置为在特定时间打开页面,然后在几分钟后关闭选项卡。我继续使用 Windows 任务计划程序来移动下载的文件。当我离开计算机时,我必须禁用 sleep/hibernate 才能正常工作。
http://www.crontabs.org/