将OneDrive(SkyDrive)与批处理文件同步(通过cmd)

4
基本上,我想知道是否可能用批处理文件同步OneDrive。你看,我可以在打开文件资源管理器时同步它,在左侧右键单击“OneDrive”,然后点击“同步”,但我想知道是否有与批处理文件一起使用时具有完全相同效果的命令窗口。我不知道该用什么命令,并且已经搜索无果,所以希望您能帮助我!无论如何,我相信这将是一个非常简单的脚本;问题在于找到要使用的命令。这里有一个示例图片:
3个回答

7

要从命令行或批处理文件中关闭OneDrive:

    %LOCALAPPDATA%\Microsoft\OneDrive\OneDrive.exe /shutdown

从命令行启动OneDrive:

    %LOCALAPPDATA%\Microsoft\OneDrive\OneDrive.exe /background

如果省略 /background 开关,则会打开资源管理器到您的用户文件夹中的 OneDrive 文件夹,但 OneDrive 不会启动。
如果从批处理文件重新启动 OneDrive,则请添加 START 命令,否则批处理文件将不会结束:
    start %LOCALAPPDATA%\Microsoft\OneDrive\OneDrive.exe /background

2
获取我的oneDriveSync.bat并测试。请注意,只有机器语言为英语时才能正常工作。同步始终是第三个动词,但如果它不活动,则第三个动词将是暂停,因此我目前无法创建与语言无关的版本。

我尝试了一下,但是当我检查任务栏左下角的OneDrive同步图标时,它显示自从上次我自己同步以来(没有使用你给我的脚本)仍未同步;我使用的是Windows 8.1专业版,机器语言为英语,所以我不知道出了什么问题。 - Laughable Junnyzup
我应该提到,我把 OneDrive 文件夹移动到了 E:驱动器。我不确定这是否有影响。是的,命令提示符确实显示了一些文本,但在我阅读之前就消失了。我不知道访问令牌是什么,但我会研究一下。 - Laughable Junnyzup
@LaughableJunnyzup - 我已更新oneDriveSync.bat文件,现在它更加健壮,并且现在您可以将OneDrive文件夹的位置或快捷方式链接传递给脚本。 - npocmaka
好的,那么现在你有哪些代码行需要我更改以便与我的计算机匹配呢?例如,我已经更改了第47行以链接到OneDrive文件夹,但仍然无济于事。我可能漏掉了什么,还有其他必须更改的地方吗?此外,我尝试从命令提示符中运行它,但是我得到了“可能未安装OneDrive”和“注册表键'E:OneDrive'中的无效根”的错误信息。 - Laughable Junnyzup
@LaughableJunnyzup - 尝试将“OneDrive”的位置作为第一个参数传递给脚本。或者使用快捷方式链接。 - npocmaka
显示剩余3条评论

1
这是一个简单的解决方案:
更改OneDrive设置,使其在Windows启动时不自动启动 创建一个BAT文件,在非高峰时间使用Windows任务计划程序启动OneDrive。 创建一个.BAT文件,在高峰时间结束时TaskkillOneDrive.exe
Windows 10:
启动OneDrive的命令行(并自动开始同步设置中的文件夹/文件)
C:\Users\user\AppData\Local\Microsoft\OneDrive\OneDrive.exe

命令行关闭 Onedrive.exe

Taskkill /IM OneDrive.exe /F

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接