如何使用任务计划程序运行 bash 脚本(Windows 10 V1903)

如何使用任务计划程序运行 bash 脚本(Windows 10 V1903)

我想自动将 Windows PC 上的文件夹同步到连接到 raspberrypi 的外部硬盘。我的脚本可以运行,只需使用 rsync 即可复制 2 个文件夹。

我想通过任务计划程序自动执行它,但它不起作用。我尝试直接从任务计划程序将其作为 bash 脚本运行,并尝试了另一件我想到的事情。我编写了一个执行我的 bash 脚本的批处理文件。手动执行批处理文件时它可以工作,但当我通过任务计划程序执行时它不再工作,我无法弄清楚原因,因为我没有错误消息或其他东西。

我还编写了另一个批处理文件,它创建了一个文件夹并通过任务计划程序执行它,运行良好。问题肯定是任务计划程序和 bash 的问题。

任何帮助将非常感激!

Bash 脚本:

/bin/bash #!/bin/bash

rsync -rtv -e “ssh -i /home/fernien/id_rsa” /mnt/g/100D3300/[电子邮件保护]://mnt/share/图片/正常
rsync -rtv -e "ssh -i /home/fernien/id_rsa" /mnt/g/Bilder\ 编辑/[电子邮件保护]://mnt/share/图片/编辑

运行此脚本的批处理文件:

尝试了不同的品种。带 -c、不带 -c、带“./”和不带。

@echo 关闭
脚本目录
执行以下命令:

答案1

感谢@FedonKadifeli。问题出在我的脚本中:手动执行时确实有效,我不知道为什么,但确实有效。

@echo 关闭
脚本目录
执行以下命令:

但它应该是这样的。更正后,它对我来说工作得很好。应该花更多时间在批处理脚本上。

@echo 关闭
C:
cd \脚本\
执行以下命令:

答案2

cd在 DOS 批处理脚本中,借助命令的换向器,您可以使用一行命令更改驱动器和路径/D。因此,您最终会得到以下内容:

@echo off
cd /D c:\scripts\
bash.exe -c "./sync.bash"

相关内容