批处理文件复制所有用户配置文件中的内容

3

我想生成一个批处理文件,可以从用户的个人资料中复制所有*.doc和*.xls文件类型。然后我会设置批处理文件在所有用户注销后自动运行计划任务。以下是我的代码:

for %%x in (doc xls) do xcopy c:\Users\user1\*.%%x "\\server\i$\User Backups\user1\%computername%\" /c /i /y /s /d

这个方法很好用,但是我需要为我们组织中的每个用户(user1、user2等)在批处理文件中生成一行项目,以便涵盖所有配置文件。当有新用户加入时,需要更新文件并添加他们的配置信息。理想情况下,我希望有一个更自动化的方法,类似于这样:

for %%x in (doc xls) do xcopy %userprofile%\*.%%x "\\server\i$\User Backups\%username%\%computername%" /c /i /y /s /d 

使用%userprofile%代替“user1”输入的缺点是它只针对当前登录的用户运行。是否有其他选项可以加入,不关心当前登录的用户,而是针对计算机上的所有用户配置文件运行?

1个回答

1
你可以使用 reg query 从注册表中获取用户配置文件列表,但你只关心那些在 C:\Users 目录下有文件夹的用户,所以只需循环遍历这些用户即可:
for /d %%u in (C:\Users\*) do for %%x in (doc xls) do xcopy C:\Users\%%~nu\*.%%x "\\server\i$\User Backups\%%~nu\%computername%\" /c /i /y /s /d

1
感谢您的反馈。我能够利用您建议的内容,整合我的原始脚本文件。非常感谢您的帮助! - user1411190
这对于Win Vista及以上版本非常完美,但WinXP呢?如何循环遍历用户配置文件呢? - crosenblum
@crosenblum,只需将“C:\ Users”替换为机器上相关的本地化用户配置文件位置,“C:\ Documents and Settings”或其他位置即可。 - Kevin

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