Batch file 如何使批处理脚本从用户文件夹复制文件,并支持不同的用户?
我想使用一个简短的批处理脚本将文件从OneDrive复制到另一个文件夹,问题是OneDrive文件夹位于C:/下的users文件夹中 如何让批处理脚本进入当前登录用户的用户文件夹,然后进入OneDrive文件夹以复制特定文件 目前这就是我所拥有的: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”是硬编码的,这使得批处理只能与此特定用户一起工作。它是硬编码的
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}而不是%