Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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_Dos - Fatal编程技术网

Batch file 如何创建一个设置,根据您的用户名更改批复制命令?

Batch file 如何创建一个设置,根据您的用户名更改批复制命令?,batch-file,dos,Batch File,Dos,我有一个非常简单的批处理命令,如下所示: xcopy "T:\UserPreferences.xml" "C:\Users\USERNAME\AppData\UserPreferences.xml" /y 因此,它正在将一个文件从映射的网络T驱动器拉到本地用户文件夹。但是,由于每个人的用户名不同,这意味着我的网络中的人在不调整命令以适应其本地计算机的情况下无法运行该命令 有没有办法创建一个变量,以便根据运行它的用户调整本地文件夹位置?您根本不应该使用C:\Users 将文件复制到“%APPDA

我有一个非常简单的批处理命令,如下所示:

xcopy "T:\UserPreferences.xml" "C:\Users\USERNAME\AppData\UserPreferences.xml" /y
因此,它正在将一个文件从映射的网络T驱动器拉到本地用户文件夹。但是,由于每个人的用户名不同,这意味着我的网络中的人在不调整命令以适应其本地计算机的情况下无法运行该命令


有没有办法创建一个变量,以便根据运行它的用户调整本地文件夹位置?

您根本不应该使用
C:\Users


将文件复制到
“%APPDATA%\UserPreferences.xml”
。环境变量
APPDATA
指向登录用户的APPDATA文件夹,该文件夹可能并不总是位于驱动器
C:
上。例如,启用漫游配置文件时,
APPDATA
文件夹位于管理员指定的网络驱动器上,可从网络/域上的其他系统访问。

您是否尝试将您的
用户名更改为
%USERNAME%
?谢谢!我认为这是可行的。有一件事是,它会提示我并询问我是否指定了文件名或目录(F=file,D=directory)-我如何调整命令,使其自动选择文件?这将是一个与您在此处提出的问题不同的(也是新的)问题,您应该这样发布它。我已经回答了张贴在这里的问题。(如果您正确地完成了上述操作,则不会提示您。如果您不确定,请在
xcopy
之前添加一行,如
@echo”%APPDATA%\UserPreferences.xml“
,然后查看它打印到控制台的内容。)