Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何使批处理脚本从用户文件夹复制文件,并支持不同的用户?_Batch File_Onedrive - Fatal编程技术网

Batch file 如何使批处理脚本从用户文件夹复制文件,并支持不同的用户?

Batch file 如何使批处理脚本从用户文件夹复制文件,并支持不同的用户?,batch-file,onedrive,Batch File,Onedrive,我想使用一个简短的批处理脚本将文件从OneDrive复制到另一个文件夹,问题是OneDrive文件夹位于C:/下的users文件夹中 如何让批处理脚本进入当前登录用户的用户文件夹,然后进入OneDrive文件夹以复制特定文件 目前这就是我所拥有的: xcopy "C:\jmills\OneDrive\TestFolder\Test_2018.accde" "C:\Test\Test_EXE\" /d 正如您所见,用户“jmills”是硬编码的,这使得批处理只能与此特定用户一起工作。它是硬编码的

我想使用一个简短的批处理脚本将文件从OneDrive复制到另一个文件夹,问题是OneDrive文件夹位于C:/下的users文件夹中

如何让批处理脚本进入当前登录用户的用户文件夹,然后进入OneDrive文件夹以复制特定文件

目前这就是我所拥有的:

xcopy "C:\jmills\OneDrive\TestFolder\Test_2018.accde" "C:\Test\Test_EXE\" /d

正如您所见,用户“jmills”是硬编码的,这使得批处理只能与此特定用户一起工作。

它是硬编码的,因为您选择了硬编码。请注意,有一个名为
username
的环境变量,它保存当前登录用户的用户名。批处理文件中的变量可由
%
访问启用延迟扩展时。我发现这里没有理由使用延迟扩展,所以只使用百分号:

xcopy“C:\%username%\OneDrive\TestFolder\Test\u 2018.accde”“C:\Test\Test\u EXE\”/d

当前登录的用户是命名用户名。在命令提示符下键入
SET
,查看您可以使用的所有当前系统变量。我看到了,所以我写了{username}或username,而不是“jmills”,我看到您没有阅读我发布的链接的前几行。变量两边都有一个百分号:%ThisIsAVariable%正确,但在其中一个示例中显示:C:\Users\{Username}\AppData\Local\TempWhere Username写为{Username}而不是%