使用CMD * Windows *将文件夹上传到Onedrive

时间:2017-10-23 09:02:56

标签: windows cmd onedrive

我想使用CMD将网络文件夹上传到Onedrive。 我的本地网络中有一个网络文件夹,我想备份到Onedrive。由于我的云是1 TB,而我的本地可用空间是10GB,我只能将文件夹克隆到我的Onedrive文件夹。 目前,我在浏览器上访问onedrive并每天上传一次文件夹。我想要一个批处理文件来完成这项工作。 你知道如何存档吗? 我在我的覆盆子pi上尝试了rclone / onedrive -d / SME / Nextcloud以保护文件夹,但没有一个证明是可靠的。

3 个答案:

答案 0 :(得分:1)

找出您的OneDrive目录并在那里复制文件。它可能位于您的用户帐户目录下%USERPROFILE%\OneDrive

右键单击通知栏中的OneDrive云 选择"设置" 选择"选择文件夹"按键 在对话框的底部,检查PC上的"位置:"

OneDrive location on PC

COPY thefile.txt "%USERPROFILE%\OneDrive"

答案 1 :(得分:0)

找到了一个更好的解决备用安装位置的解决方案... 有一个环境变量: Explorer.exe %OneDrive% for File Explorer %OneDrive%用于批处理文件 和 $Env:OneDrive for Powershell

我的系统上还有一个用于%OneDriveConsumer%的系统,它被设置为系统上的同一位置,因此不确定该用于什么...

答案 2 :(得分:0)

这是我在经典 windows BAT shell 脚本中的做法:首先将 OneDrive 映射为标准的 Windows 网络驱动器,然后对其执行操作:

net use OneDriveMountPoint "https://d.docs.live.net/OneDriveCID" /USER:OneDriveUser /P:No

OneDriveMoutPoint 是您喜欢使用的免费 Windows 驱动器号,例如Y:; OneDriveCID 是您通过浏览器登录 OneDrive 时看到的 OneDrive ID(URL 返回类似于 https://onedrive.live.com/?id=..whatever...&cid=OneDriveCID),OneDriveUser 是您的 Windows OneDrive 用户名(通常类似于john.smith@outlook.com);所以这可能看起来像:

net use Y: "https://d.docs.live.net/XGS%WHATEVER53SFF" /USER:john.smith@outlook.com /P:No

执行时会提示您输入 Windows OneDrive 密码(您也可以在 net use 调用中对其进行硬编码以避免出现提示,但出于明显的安全考虑,不建议这样做)。

之后,您将 OneDrive 安装为网络驱动器,它现在显示在 Windows 资源管理器中,并且可以通过 shell 命令轻松访问,例如同步复制备份操作:

robocopy C:/mydatalocal Y:/mydataonedrive /MIR

(假设您的挂载点是 Y: 并且文件夹存在)。请注意,远程目标 OneDrive 文件夹 mydataonedrive 必须在本地 Windows 设置中设置为非同步,否则远程文件夹中的所有内容将自动同步回本地 OneDrive 文件夹结构...

出于安全原因,您可能希望在操作后销毁链接:

net use Y: /delete