这是一场噩梦。
我终于想通了,你需要设置 HOMEDRIVE 和 HOMEPATH 环境变量。使用命令“set”在运行交互式和任务调度程序时打印出环境变量并比较输出,这些是任务调度程序中唯一没有的两个,感谢上帝他们工作。设置好这些之后,任务调度器终于可以看到已知主机了,
如果您想使用 scp 将文件复制到 windows 机器上,您可能会在通过任务计划程序运行时遇到另一个令人愉快的问题:由于某种原因 scp 无法复制到任何旧文件夹,它必须是登录用户的主文件夹。好吧,也许它没有那么严格,但老实说,当我完成 6 个小时的这些废话时,我已经懒得去发现了。无论如何,解决方法是首先将文件 scp 到登录用户的主文件夹,然后将它们移动到最终目的地。
这是我的批处理文件的结束方式(从最终目标目录中运行):
set HOMEDRIVE=C:
set HOMEPATH=\Documents and Settings\loggedinuser
echo Compressing data files on server...
ssh user@host "cd /foo/bar ; gzip -fc foobar > foobar.gz"
echo Copying files from server...
scp user@host:/foo/bar/foobar.gz "%HOMEPATH%"
move "%HOMEPATH%\foobar.gz" .
我希望有一天这能帮助一些可怜的灵魂。